QT 动态加载UI文件注意事项

原文在这里http://mobile.51cto.com/symbian-272128.htm

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文件的。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值