Qt4之动态加载Ui 窗体控件

要使用动态加载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();  

截图说明:

Qt4之动态加载Ui 窗体控件

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/wypjfs.html