动态对话框:在运行时利用.ui文件生成的对话框,不使用uic将.ui文件转为C++代码,而是在运行时使用QUiLoader类将.ui文件导入。
QUiLoader uiLoader; QFile file("sortdialog.ui"); QWidget *sortDialog = uiLoader.load(&file); if(sortDialog) { ... }
通过使用QObject::findChild<T>()访问窗体中的子部件
QComboBox *p = sortDialog->findChild<QComboBox *>("primaryColumnCombo"); if(p) { ... }
findChild<T>()是一个成员函数,返回符合类型和名字的子部件,它不支持MSVC6编译器,在MSVC6编译器上需要使用qFindChild<T>()。
QUiLoader类在不同的库里,使用前需要在工程文件.pro中加上
CONFIG += uitools