VS+Qt QUiLoader动态加载.ui文件

QUiLoader uiLoader; 
QFile file(":/QtDemo/qtdemo.ui"); 
file.open(QFile::ReadOnly);
QWidget* ui = uiLoader.load(&file); 
file.close();
QVBoxLayout *layout = new QVBoxLayout;
layout->addWidget(ui);
setLayout(layout);
以上实现从.ui文件读取出ui界面并显示。此时ui中的控件并不能用->直接读取。
应用类似
ui->findChild<QPushButton*>("pushButton");

的形式读取到名为“pushButton”的对象指针,进而可以进行.ui文件中的控件使用。

补充:

QT5中使用QUiLoader要额外添加附加依赖项Qt5UiToolsd.lib。方法为:

VS下  项目->属性->链接器->输入->附加依赖项。尾部添加即可

posted @ 2020-07-22 12:05  banlcer  阅读(633)  评论(0编辑  收藏  举报