歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux編程 >> Linux編程 >> Qt4之動態加載Ui 窗體控件

Qt4之動態加載Ui 窗體控件

日期:2017/3/1 11:09:16   编辑:Linux編程

要使用動態加載ui窗體,首先要申明:

#include <QtUiTools>

可以在程序運行時,動態加載UI窗體。

代碼如下:

  1. MyWidget::MyWidget(QWidget *parent)
  2. : QWidget(parent)
  3. {
  4. QTabWidget *tabWidget = new QTabWidget(this);
  5. QWidget *w1 = new QWidget;
  6. firstUi.setupUi(w1);
  7. QWidget *w2 = new QWidget;
  8. secondUi.setupUi(w2);
  9. tabWidget->addTab(w1,"First");
  10. tabWidget->addTab(w2,"Second");
  11. tabWidget->resize(300,300);
  12. connect(firstUi.childPushButton,SIGNAL(clicked()),this,SLOT(slotChild()));
  13. connect(secondUi.closePushButton,SIGNAL(clicked()),this,SLOT(close()));
  14. }
  15. void MyWidget::slotChild()
  16. {
  17. QUiLoader loader;
  18. QFile file(":/forms/third.ui");
  19. file.open(QFile::ReadOnly);
  20. QWidget *third = loader.load(&file);
  21. file.close();
  22. third->show();
  23. }
下面這些代碼即為運態加載,從當前目錄下的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. third->show();

截圖說明:

Copyright © Linux教程網 All Rights Reserved