Chinaunix首页 | 论坛 | 博客
  • 博客访问: 507184
  • 博文数量: 197
  • 博客积分: 2071
  • 博客等级: 上尉
  • 技术积分: 1307
  • 用 户 组: 普通用户
  • 注册时间: 2010-11-02 09:49
个人简介

prothes 专注嵌入式的ARM linux

文章分类

全部博文(197)

文章存档

2014年(3)

2013年(16)

2012年(108)

2011年(70)

分类: LINUX

2011-11-05 14:50:27

要使用动态加载ui窗体,首先要申明:
#include
可以在程序运行时,动态加载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公社网站()  原文链接:
阅读(889) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~