Qt QTabWidget插入widget(重要的是编程思想)
2023-09-14 09:05:12 时间
大神们都是这么写代码的。
比如QTableWidget,每一个页面都插入一个QWidget,而不是一个人在一个一个Tab里面拖控件。
原始的运行图如下(没有插入QWidget):
插入两个QWidget后效果如下:
CSDN QT大纲:Qt开发必备技术栈学习路线和资料
代码如下:
Widget.h
1 #ifndef WIDGET_H
2 #define WIDGET_H
3
4 #include <QWidget>
5 #include "form1.h"
6 #include "form2.h"
7
8
9 namespace Ui {
10 class Widget;
11 }
12
13 class Widget : public QWidget
14 {
15 Q_OBJECT
16
17 public:
18 explicit Widget(QWidget *parent = 0);
19 ~Widget();
20
21 private:
22 Ui::Widget *ui;
23 Form1 *form1;
24 Form2 *form2;
25 };
26
27 #endif // WIDGET_H
form1.h
1 #ifndef FORM1_H
2 #define FORM1_H
3
4 #include <QWidget>
5
6 namespace Ui {
7 class Form1;
8 }
9
10 class Form1 : public QWidget
11 {
12 Q_OBJECT
13
14 public:
15 explicit Form1(QWidget *parent = 0);
16 ~Form1();
17
18 private:
19 Ui::Form1 *ui;
20 };
21
22 #endif // FORM1_H
form2.h
1 #ifndef FORM2_H
2 #define FORM2_H
3
4 #include <QWidget>
5
6 namespace Ui {
7 class Form2;
8 }
9
10 class Form2 : public QWidget
11 {
12 Q_OBJECT
13
14 public:
15 explicit Form2(QWidget *parent = 0);
16 ~Form2();
17
18 private:
19 Ui::Form2 *ui;
20 };
21
22 #endif // FORM2_H
widget.cpp
1 #include "widget.h"
2 #include "ui_widget.h"
3
4 Widget::Widget(QWidget *parent) :
5 QWidget(parent),
6 ui(new Ui::Widget)
7 {
8 ui->setupUi(this);
9 form1=new Form1();
10 ui->tabWidget->insertTab(0,form1,tr("全是按钮"));
11
12 form2=new Form2();
13 ui->tabWidget->insertTab(1,form2,tr("全是CheckBox"));
14 }
15
16 Widget::~Widget()
17 {
18 delete ui;
19 }
form1.cpp
1 #include "form1.h"
2 #include "ui_form1.h"
3
4 Form1::Form1(QWidget *parent) :
5 QWidget(parent),
6 ui(new Ui::Form1)
7 {
8 ui->setupUi(this);
9 }
10
11 Form1::~Form1()
12 {
13 delete ui;
14 }
form2.cpp
1 #include "form2.h"
2 #include "ui_form2.h"
3
4 Form2::Form2(QWidget *parent) :
5 QWidget(parent),
6 ui(new Ui::Form2)
7 {
8 ui->setupUi(this);
9 }
10
11 Form2::~Form2()
12 {
13 delete ui;
14 }
main.cpp
1 #include "widget.h"
2 #include <QApplication>
3
4 int main(int argc, char *argv[])
5 {
6 QApplication a(argc, argv);
7 Widget w;
8 w.show();
9
10 return a.exec();
11 }
本文福利,莬费领取Qt开发学习资料包、技术视频,内容包括(C++语言基础,Qt编程入门,QT信号与槽机制,QT界面开发-图像绘制,QT网络,QT数据库编程,QT项目实战,QT嵌入式开发,Quick模块等等)↓↓↓↓↓↓见下面↓↓文章底部点击莬费领取↓↓
相关文章
- Qt中QMap键值对基本用法(键值对)
- qt 当前窗口句柄_QT获取窗口句柄
- qtabwidget tab样式_qt geometry
- C/C++ Qt 数据库QSql增删改查组件应用
- Qt官方示例-Qml系统对话框
- Qt开源网络库[9]-下载文件
- Qt Qml 中动态创建 & 销毁视频容器技巧(二)
- Linux Qt编程:一步一步开始(linuxqt入门)
- 编程在Linux下学习Qt界面编程(linux下qt界面)
- 建立Linux下QT动态库建立快速指南(linux下qt动态库)
- Linux 环境下运用 Qt 编程的秘籍(linux下的qt编程)
- Linux Qt开发技术招聘会引热烈关注(linuxqt招聘)
- 在Linux上体验Qt的魅力(linux下运行qt)
- Qt下Linux系统的输入法研究(qt输入法linux)
- 在Linux中安装Qt第三方库的指南(linux安装qt库)
- Linux虚拟机中安装Qt的指南(linux虚拟机安装qt)
- Qt蓝牙编程指南:在Linux系统上使用Qt开发蓝牙应用程序(qt蓝牙编程linux)
- Qt操作MYSQL:只需几步就能实现(qt操作mysql)
- Linux下的Qt编译器之旅(qt编译器linux)
- Linux编译Qt库:从零开始(linux编译qt库)
- Linux上安装Qt绘图库的指南(linuxqt安装)
- LXDE与Razor-qt合体:LXQt Linux桌面环境发布首个版本
- Dooble是用Qt4写的另外一款WebKit浏览器,主要在保护用户隐私方面取胜。虽然它和其他浏览器提供的安全性相差不打,但是也有一些特有的属性比如内含的桌面等。Dooble桌面使得用户可以在增加桌面背景的同时添加应用程序启动,除了从软件包管理器安装外,还可以使用Ubuntu 10.10版本0.07安装,此时的Dooble版本为1.14,同时还要有Qt编码工具如qt4-qmake等。
- 利用Linux系统和QT技术实现高效嵌入式应用程序开发(linux嵌入式qt)
- 在Linux下探索Qt程序的奥秘(linux下运行qt程序)
- Qt在Linux环境中的新技术应用(qt与linux程序设计)
- 分析Linux Qt实例分析:快速掌握开发技术(linuxqt实例)
- Qt跨平台编译MySQL驱动实践(qt编译mysql驱动)
- QT快速加载MySQL驱动的简单操作(qt加载mysql驱动)
- 集成开发Linux与Qt集成开发:实现无缝交互(linux与qt)
- 如何在QT应用程序中使用MYSQL进行编程?(qt的mysql编程)
- 使用Qt框架插入MySQL中的数据(qt插入mysql)
- 轻松实现QT直连Microsoft SQL Server(qt直连mssql)
- MySQL与Qt的无缝连接(mysql 连接qt)
- 在Qt中编译Oracle环境(qt编译 oracle)