动态对话框

本文介绍如何在Qt应用程序中使用QUiLoader类从.ui文件动态加载对话框,而不将其转换为C++代码。此外,还展示了如何通过findChild函数访问对话框中的子部件。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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

 

转载于:https://www.cnblogs.com/heart307/p/5837362.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值