动态对话框

动态对话框:在运行时利用.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

 

posted @ 2016-09-03 16:19  heart307  阅读(312)  评论(0编辑  收藏  举报