解析 QT 動態(tài)加載UI文件注意事項
QT 動態(tài)加載UI文件注意事項是本文將要介紹的內(nèi)容,內(nèi)容不多,但很細膩,先來看內(nèi)容。在***的QT 4版本中(QT4.1以上)加入了動態(tài)加載UI文件的功能。使用如下:
- QUiLoader loader;
- QFile file("calculator.ui");
- file.open(QFile::ReadOnly);
- QWidget *formWidget = loader.load(&file, this);
- file.close();
- QMetaObject::connectSlotsByName(this);
- QVBoxLayout *layout = new QVBoxLayout;
- layout->addWidget(formWidget);
- setLayout(layout);
- setWindowTitle(tr("Calculator Builder"));
以上代碼是放在從QWidget派生的自定義類中的構(gòu)造函數(shù)中的。這樣調(diào)用自定義類的show函數(shù)就會顯示用designer設(shè)計好的界面。
經(jīng)過使用和觀察,發(fā)現(xiàn)這個動態(tài)加載對UI文件是有限制要求的,不過在官方文檔中并未找到相關(guān)說明,因此也只能是作為一種總結(jié)了。也許官方正在打算改進。
限制1:UI 必須是QWidget窗體或QFrame部件,不能是其他類型,如QDialog,QMainWindow
限制2:UI 的頂層窗體必須具有布局,也就是窗體的布局不能是“打破布局”這一項。
如果不滿足上述兩個限制,QUiLoader是不能加載這樣的UI文件的。
小結(jié):QT 動態(tài)加載 UI 文件注意事項的內(nèi)容介紹完了,希望本文對你有所幫助。更多資料獲取,請參考編輯推薦!