解析 QT 動態加載UI文件注意事項
QT 動態加載UI文件注意事項是本文將要介紹的內容,內容不多,但很細膩,先來看內容。在***的QT 4版本中(QT4.1以上)加入了動態加載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派生的自定義類中的構造函數中的。這樣調用自定義類的show函數就會顯示用designer設計好的界面。
經過使用和觀察,發現這個動態加載對UI文件是有限制要求的,不過在官方文檔中并未找到相關說明,因此也只能是作為一種總結了。也許官方正在打算改進。
限制1:UI 必須是QWidget窗體或QFrame部件,不能是其他類型,如QDialog,QMainWindow
限制2:UI 的頂層窗體必須具有布局,也就是窗體的布局不能是“打破布局”這一項。
如果不滿足上述兩個限制,QUiLoader是不能加載這樣的UI文件的。
小結:QT 動態加載 UI 文件注意事項的內容介紹完了,希望本文對你有所幫助。更多資料獲取,請參考編輯推薦!