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

Qt4之动态加载Ui 窗体控件 .

2013-06-13 18:29 218 查看
要使用动态加载ui窗体,首先要申明:

#include <QtUiTools>

可以在程序运行时,动态加载UI窗体。

代码如下:

1.MyWidget::MyWidget(QWidget *parent)

2. : QWidget(parent)

3.{

4. QTabWidget *tabWidget = new QTabWidget(this);

5.

6. QWidget *w1 = new QWidget;

7. firstUi.setupUi(w1);

8.

9. QWidget *w2 = new QWidget;

10. secondUi.setupUi(w2);

11.

12. tabWidget->addTab(w1,"First");

13. tabWidget->addTab(w2,"Second");

14.

15. tabWidget->resize(300,300);

16.

17. connect(firstUi.childPushButton,SIGNAL(clicked()),this,SLOT(slotChild()));

18. connect(secondUi.closePushButton,SIGNAL(clicked()),this,SLOT(close()));

19.}

20.

21.void MyWidget::slotChild()

22.{

23. QUiLoader loader;

24. QFile file(":/forms/third.ui");

25. file.open(QFile::ReadOnly);

26. QWidget *third = loader.load(&file);

27. file.close();

28.

29. third->show();

30.}

下面这些代码即为运态加载,从当前目录下的forms文件夹下面引入third.ui即可。

可以看出是以只读的形式打开.使用QUiLoader方式。

1.QUiLoader loader;

2. QFile file(":/forms/third.ui");

3. file.open(QFile::ReadOnly);

4. QWidget *third = loader.load(&file);

5. file.close();

6.

7. third->show();



本篇文章来源于 Linux公社网站(www.linuxidc.com) 原文链接:http://www.linuxidc.com/Linux/2011-10/46198.htm
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: