您的位置:首页 > 产品设计 > UI/UE

Qt4之动态加载Ui 窗体控件

2011-11-05 14:50 302 查看
要使用动态加载ui窗体,首先要申明: #include <QtUiTools> 可以在程序运行时,动态加载UI窗体。 代码如下: MyWidget::MyWidget(QWidget *parent)
: QWidget(parent)
{
QTabWidget *tabWidget = new QTabWidget(this);

QWidget *w1 = new QWidget;
firstUi.setupUi(w1);

QWidget *w2 = new QWidget;
secondUi.setupUi(w2);

tabWidget->addTab(w1,"First");
tabWidget->addTab(w2,"Second");

tabWidget->resize(300,300);

connect(firstUi.childPushButton,SIGNAL(clicked()),this,SLOT(slotChild()));
connect(secondUi.closePushButton,SIGNAL(clicked()),this,SLOT(close()));
}

void MyWidget::slotChild()
{
QUiLoader loader;
QFile file(":/forms/third.ui");
file.open(QFile::ReadOnly);
QWidget *third = loader.load(&file);
file.close();

third->show();
}
下面这些代码即为运态加载,从当前目录下的forms文件夹下面引入third.ui即可。
可以看出是以只读的形式打开.使用QUiLoader方式。 QUiLoader loader;
QFile file(":/forms/third.ui");
file.open(QFile::ReadOnly);
QWidget *third = loader.load(&file);
file.close();

third->show();
本篇文章来源于 Linux公社网站(www.linuxidc.com) 原文链接:http://www.linuxidc.com/Linux/2011-10/46198.htm本文出自 “prothes blog” 博客,请务必保留此出处http://prothesman.blog.51cto.com/8610862/1411693
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: