1. //mydialog.h
  2. #ifndef MYDIALOG_H
  3. #define MYDIALOG_H
  4. #include <QDialog>
  5. class QTabWidget;
  6. class MyDialog : public QDialog
  7. {
  8. Q_OBJECT
  9. public:
  10. explicit MyDialog(QWidget *parent = 0);
  11. signals:
  12. public slots:
  13. private:
  14. QTabWidget *tabWidget;
  15. };
  16. #endif // MYDIALOG_H
 //mydialog.h
#ifndef MYDIALOG_H
#define MYDIALOG_H
#include <QDialog>
class QTabWidget;
class MyDialog : public QDialog
{
Q_OBJECT
public:
explicit MyDialog(QWidget *parent = 0);
signals:
public slots:
private:
QTabWidget *tabWidget;
};
#endif // MYDIALOG_H
  1. //mydialog.cpp
  2. #include "mydialog.h"
  3. #include <QtGui/QTabWidget>
  4. #include <QtGui/QHBoxLayout>
  5. #include <QtGui/QVBoxLayout>
  6. #include <QtGui/QLabel>
  7. #include <QtGui/QLineEdit>
  8. #include <QtGui/QPushButton>
  9. #include <QtGui/QWidget>
  10. #include <QtGui/QIcon>
  11. MyDialog::MyDialog(QWidget *parent) :
  12. QDialog(parent)
  13. {
  14. tabWidget = new QTabWidget();
  15. //新建第一个页面的部件
  16. QWidget *widget = new QWidget();
  17. QLineEdit *lineEdit = new QLineEdit();
  18. QPushButton *pushButton = new QPushButton("Test");
  19. QVBoxLayout *vLayout = new QVBoxLayout();
  20. vLayout->addWidget(lineEdit);
  21. vLayout->addWidget(pushButton);
  22. widget->setLayout(vLayout);
  23. //新建第二个页面的部件
  24. QLabel *label = new QLabel("Hello Qt");
  25. //新建第三个页面的部件
  26. QPushButton *pushButton3 = new QPushButton("Click Me");
  27. //向QTabWidget中添加第一个页面
  28. QIcon icon1(":/new/icon/images/1.ico");
  29. tabWidget->addTab(widget, icon1, "Tab1");
  30. //向QTabWidget中添加第二个页面
  31. QIcon icon2(":/new/icon/images/2.ico");
  32. tabWidget->addTab(label, icon2, "Tab2");
  33. //向QTabWidget中添加第三个页面
  34. QIcon icon3(":/new/icon/images/3.ico");
  35. tabWidget->addTab(pushButton3, icon3, "Tab3");
  36. QHBoxLayout *layout = new QHBoxLayout();
  37. layout->addWidget(tabWidget);
  38. this->setLayout(layout);
  39. this->resize(300, 100);
  40. this->setWindowTitle("QTabWidgetDemo");
  41. }
//mydialog.cpp
#include "mydialog.h"
#include <QtGui/QTabWidget>
#include <QtGui/QHBoxLayout>
#include <QtGui/QVBoxLayout>
#include <QtGui/QLabel>
#include <QtGui/QLineEdit>
#include <QtGui/QPushButton>
#include <QtGui/QWidget>
#include <QtGui/QIcon>
MyDialog::MyDialog(QWidget *parent) :
QDialog(parent)
{
tabWidget = new QTabWidget(); //新建第一个页面的部件
QWidget *widget = new QWidget();
QLineEdit *lineEdit = new QLineEdit();
QPushButton *pushButton = new QPushButton("Test");
QVBoxLayout *vLayout = new QVBoxLayout();
vLayout->addWidget(lineEdit);
vLayout->addWidget(pushButton);
widget->setLayout(vLayout); //新建第二个页面的部件
QLabel *label = new QLabel("Hello Qt"); //新建第三个页面的部件
QPushButton *pushButton3 = new QPushButton("Click Me"); //向QTabWidget中添加第一个页面
QIcon icon1(":/new/icon/images/1.ico");
tabWidget->addTab(widget, icon1, "Tab1"); //向QTabWidget中添加第二个页面
QIcon icon2(":/new/icon/images/2.ico");
tabWidget->addTab(label, icon2, "Tab2"); //向QTabWidget中添加第三个页面
QIcon icon3(":/new/icon/images/3.ico");
tabWidget->addTab(pushButton3, icon3, "Tab3"); QHBoxLayout *layout = new QHBoxLayout();
layout->addWidget(tabWidget); this->setLayout(layout);
this->resize(300, 100);
this->setWindowTitle("QTabWidgetDemo");
}
  1. //main.cpp
  2. #include <QtGui/QApplication>
  3. #include "mydialog.h"
  4. int main(int argc, char *argv[])
  5. {
  6. QApplication a(argc, argv);
  7. MyDialog dialog;
  8. dialog.show();
  9. return a.exec();
  10. }
//main.cpp
#include <QtGui/QApplication>
#include "mydialog.h"
int main(int argc, char *argv[])
{
QApplication a(argc, argv);
MyDialog dialog;
dialog.show();
return a.exec();
}

资源文件截图:

程序运行截图:

QT 多页面切换之QTabWidget的更多相关文章

  1. 第54课 Qt 中的多页面切换组件

    1. 多页面切换组件(QTabWidget) (1)能够在同一个窗口中自由切换不同页面的内容 (2)是一个容器类型的组件,同时提供友好的页面切换方式 2. QTabWidget的使用方式 (1)在应用 ...

  2. PyQt(Python+Qt)学习随笔:QTabWidget选项卡部件概述和属性介绍

    老猿Python博文目录 专栏:使用PyQt开发图形界面Python应用 老猿Python博客地址 一.概述 TabWidget选项卡组件是一个带一到多个选项卡栏和对应页面区域的组件,对应类QTabW ...

  3. QtQuick多页面切换、多页面切换动画、多个qml文件数据交互

    一.QtQuick多页面切换方法 (1)“隐藏法” 前一个视图visible设为false或者透明度opacity设为0,相当于“隐藏”了,实际还存在: 要显示的视图visible设为true或者透明 ...

  4. 快速构建H5单页面切换骨架

    在Web App和Hybrid App横行的时代,为了拥有更好的用户体验,单页面应用顺势而生,单页面应用简称`SPA`,即Single Page Application,就是只有一个HTML页面的应用 ...

  5. Android中使用ViewPager实现屏幕页面切换和页面切换效果

    之前关于如何实现屏幕页面切换,写过一篇博文<Android中使用ViewFlipper实现屏幕切换>,相比ViewFlipper,ViewPager更适用复杂的视图切换,而且Viewpag ...

  6. ViewPager之Fragment页面切换

    一.概述 ViewPager是android-support-v4中提供的类,它是一个容器类,常用于页面之间的切换. 继上篇文章<ViewPager之引导页>之后,本文主要介绍ViewPa ...

  7. html tab页面切换事件。

    $(document).bind("visibilitychange",function(e){ //只对tab页面切换有效 //document.visibilityState ...

  8. vue-lazy-render: 延迟渲染大组件,增强页面切换流畅度

    最近用element来做项目,在开发的过程中,突然发现页面的操作和切换在数据量大的时候相当卡,后来提了个issue,在furybean解答后才知道,我每个单元格都加了tooltip,会生成大量的节点, ...

  9. Android成长日记-使用PagerAdapter实现页面切换

    Tip:此方式可以实现页面切换 1. 创建view1.xml,view2.xml,view3.xml,main.xml 在main.xml中创建 <android.support.v4.view ...

随机推荐

  1. HUST 1354 - Rubiks (DP)

    1354 - Rubiks 时间限制:1秒 内存限制:64兆 452 次提交 102 次通过 题目描述 Isun is a genius. Not only he is an expert in al ...

  2. POJ 3026 Borg Maze【BFS+最小生成树】

    链接: http://poj.org/problem?id=3026 http://acm.hust.edu.cn/vjudge/contest/view.action?cid=22010#probl ...

  3. hctf2016 fheap学习(FlappyPig队伍的解法)

    目录 漏洞原理 二次释放 如何在第二次释放前修改函数地址 fastbin的特性 修改函数指针流程 如何获得进程的加载基址 格式化字符串漏洞 确定printf函数在代码段中偏移 printf函数输出想要 ...

  4. Java线程的5种状态及切换

    ava中的线程的生命周期大体可分为5种状态. 1. 新建(NEW):新创建了一个线程对象. 2. 可运行(RUNNABLE):线程对象创建后,其他线程(比如main线程)调用了该对象的start()方 ...

  5. MYSQL中case when then else end 用法

    条件语句 delimiter \\CREATE PROCEDURE proc_if ()BEGIN      declare i int default 0;   if i = 1 THEN      ...

  6. 常用模块一(os模块、序列化模块(json和pickle))

    一.os模块 os模块是与操作系统交互的一个接口. import os # 和文件和文件夹的操作有关 os.makedirs('dirname1/dirname2') # 可生成多层递归目录 os.r ...

  7. if控制器+循环控制器+计数器,控制接口分支

    但是我不想这么做,接口只想写一次,让循环控制器和if控制器去判断接口,执行我想要的分支.这里遇到了一个问题,if控制器通过什么去判断接下来的分支?我引入了一个计数器的概念.起始值为0,每次循环加1,将 ...

  8. PopuWindow和软件盘共存时的设置

    版权声明:本文为博主原创文章.未经博主同意不得转载. https://blog.csdn.net/mingyue_1128/article/details/32316069 一.键盘不消失,popuw ...

  9. 云原生应用开发12-Factors

    英文地址:https://12factor.net/ 中文地址:https://12factor.net/zh_cn/ 文章内容 简介 如今,软件通常会作为一种服务来交付,它们被称为网络应用程序,或软 ...

  10. Facebook支持python的开源预测工具Prophet

    Facebook 宣布开源一款基于 Python 和 R 语言的数据预测工具――“Prophet”,即“先知”.取名倒是非常直白. Facebook 表示,Prophet 相比现有预测工具更加人性化, ...