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