Qt之ui在程序中的使用——(1)单继承法

简介:

ui:user interface(用户界面)

void QWidget::setupUi ( QWidget * widget )的功能是设置用户界面到指定的部件;

例:

  1. QDialog *dlg_example = new QDialog;  
  2. Ui::example ui_example;    //ui_example是dlg_example对应的用户界面  
  3. ui_example.setupUi(dlg_example);     //关联用户界面与程序中的对象  

程序实例(一):

利用Qt Designer生成3个简单的ui,在使用时,两个ui插入到主程序的QTabWidget中,另一个ui由按钮触发,主窗口MyWidget采用手动编写代码的方式实现。

效果图,如下:

imageimage

image

MyWidget.h

  1. #ifndef MYWIDGET_H  
  2. #define MYWIDGET_H  
  3.   
  4. #include <QtGui>  
  5. #include "ui_first.h"  
  6. #include "ui_second.h"  
  7. #include "ui_third.h"  
  8.   
  9. class MyWidget : public QWidget  
  10. {  
  11.     Q_OBJECT  
  12.   
  13. public:  
  14.     MyWidget(QWidget *parent = 0, Qt::WFlags flags = 0);  
  15.     ~MyWidget();  
  16.   
  17. private:  
  18.     Ui::First firstUi;  
  19.     Ui::Second secondUi;  
  20.     Ui::Third thirdUi;  
  21.       
  22.     private slots:  
  23.         void on_btnChild_clicked();  
  24. };  
  25.   
  26. #endif // MYWIDGET_H  

Mywidget.cpp

  1. #include "mywidget.h"  
  2.   
  3. MyWidget::MyWidget(QWidget *parent, Qt::WFlags flags)  
  4.     : QWidget(parent, flags)  
  5. {  
  6.     QTabWidget *tabWidget = new QTabWidget(this);  
  7.   
  8.     QDialog *w1 = new QDialog;  
  9.     firstUi.setupUi(w1);  
  10.   
  11.     QWidget *w2 = new QWidget;  
  12.     secondUi.setupUi(w2);  
  13.   
  14.     tabWidget->addTab(w1,tr("First Tab"));  
  15.     tabWidget->addTab(w2,tr("Second Tab"));  
  16.     tabWidget->resize(300,300);  
  17.   
  18.     connect(firstUi.btnClose,SIGNAL(clicked()),this,SLOT(close()));  
  19.     connect(secondUi.btnChild,SIGNAL(clicked()),this,SLOT(on_btnChild_clicked()));  
  20. }  
  21.   
  22. MyWidget::~MyWidget()  
  23. {  
  24.   
  25. }  
  26.   
  27. void MyWidget::on_btnChild_clicked()  
  28. {  
  29.     QDialog *dlg = new QDialog;  
  30.     thirdUi.setupUi(dlg);  
  31.     dlg->exec();  
  32. }  

main.cpp

  1. #include "mywidget.h"  
  2. #include <QtGui/QApplication>  
  3.   
  4. int main(int argc, char *argv[])  
  5. {  
  6.     QApplication a(argc, argv);  
  7.     MyWidget w;  
  8.     w.show();  
  9.     return a.exec();  
  10. }  
作者: 韩兆新
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
分类:  [02]Qt语言基础
标签:  Qt学习笔记

本文转自韩兆新博客博客园博客,原文链接:http://www.cnblogs.com/hanzhaoxin/archive/2012/11/12/2767149.html,如需转载请自行联系原作者
目录
相关文章
|
8月前
|
Web App开发 存储 Linux
Linux(33)Rockchip RK3568 Ubuntu22.04上通过SSH运行Qt程序和关闭Chrome的密钥提示
Linux(33)Rockchip RK3568 Ubuntu22.04上通过SSH运行Qt程序和关闭Chrome的密钥提示
529 0
|
8月前
【QT】读写.ini配置文件的程序实现
【QT】读写.ini配置文件的程序实现
134 0
|
8月前
|
算法 数据可视化 程序员
【Qt UI】调色板QPalette类在Qt编程中的应用
【Qt UI】调色板QPalette类在Qt编程中的应用
269 0
|
8月前
|
算法 API C++
【Qt UI】QT 窗口/控件置顶方法详解
【Qt UI】QT 窗口/控件置顶方法详解
626 0
|
8月前
|
算法 前端开发 C++
【Qt UI相关】Qt设置窗体或控件的背景色透明
【Qt UI相关】Qt设置窗体或控件的背景色透明
929 0
|
8月前
|
存储 测试技术 UED
Qt中实现界面回放的艺术:从理论到代码“ (“The Art of Implementing UI Playback in Qt: From Theory to Code
Qt中实现界面回放的艺术:从理论到代码“ (“The Art of Implementing UI Playback in Qt: From Theory to Code
184 1
|
6月前
|
Linux iOS开发 开发者
Qt问题(二):无法定位程序输入点于动态链接库
动态链接库(Dynamic Link Library,简称DLL)是一种可执行文件格式,常见于Windows操作系统中,而在Linux和macOS等其他操作系统中,相似的概念通常被称为共享库(Shared Library)。动态链接库允许程序在运行时加载所需的代码和数据,而不是在编译时静态链接到应用程序中。这种方式带来了几个重要的优点:
555 3
|
4月前
|
C语言 Android开发 C++
基于MTuner软件进行qt的mingw编译程序的内存泄漏检测
本文介绍了使用MTuner软件进行Qt MinGW编译程序的内存泄漏检测的方法,提供了MTuner的下载链接和测试代码示例,并通过将Debug程序拖入MTuner来定位内存泄漏问题。
基于MTuner软件进行qt的mingw编译程序的内存泄漏检测
|
8月前
|
开发框架 自然语言处理 Linux
Qt:构建强大跨平台应用程序的框架
Qt:构建强大跨平台应用程序的框架

热门文章

最新文章

推荐镜像

更多