MainWindow::MainWindow(QWidget *parent) : QMainWindow(parent), ui(new Ui::MainWindow)
{
this->setupUi(this);
this->setupActions();
this->setWindowTitle(tr("CuteEdit"));
label = new QLabel(tr("No Open Files"));
this->setCentralWidget(label);
label->setAlignment(Qt::AlignCenter);
}
通过上面的代码,我得到一个GUI like this(它是整个屏幕的屏幕截图,只观察电子书页面中间显示的窗口)。 (我用QT设计器)setCentralWidget()导致QMainWindow崩溃。为什么?
现在,我想用户选择文件 - >打开..出现一个对话框和文件被选中..其内容将显示在*文本编辑部件.. 功能为低于..
void MainWindow::loadFile()
{
QString filename = QFileDialog::getOpenFileName(this);
QFile file(filename);
if (file.open(QIODevice::ReadOnly|QIODevice::Text))
{
label->hide();
textEdit->setPlainText(file.readAll());
mFilePath = filename;
QMainWindow::statusBar()->showMessage(tr("File successfully loaded."), 3000);
}
}
窗口崩溃在行: -
textEdit-> setPlainText(file.readAll());
但如果我评论该行: -
这个 - > setCentralWidget(标签);
我的意思是我删除标签作为中心部件,程序按预期运行。为什么?
而且,我不清楚CentralWidget的概念。请指导。
如果你想要完整的项目源码...很小.. 191KB。我只是一个初学者... 转到: - http://www.mediafire.com/file/wiymz3hnzmf/cuteEdit.zip – 2009-12-31 07:10:21
其QTCreater项目..“* .pro”文件 – 2009-12-31 07:11:00
我添加了更多的通用标签(qt )。 – Wildcat 2009-12-31 09:15:54