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. poj3481(splay tree 入门题)

    平衡树都能做. // // main.cpp // splay // // Created by 陈加寿 on 16/3/25. // Copyright © 2016年 chenhuan001. A ...

  2. SharePoint服务器端对象模型 之 访问网站和列表数据(Part 4)

    (四)栏/字段 SharePoint中的字段(中文版中叫做"栏")与传统的数据栏类似,也有不同类型的区别,不过SharePoint中内置的栏类型除了按照数据类型(如数字.日期和时间 ...

  3. javascript中字符串截取的两种方法

    var testStr = "hello kay!"; 1.substr testStr.substr(1)   ->ello kay! testStr.substr(1,4 ...

  4. offset,scroll,client系列

    offsetHeight: 元素高,height+border+paddingoffsetWidth: 元素宽,width+border+paddingoffsetTop: 距离offsetParen ...

  5. 我的Android进阶之旅------>Android横竖屏切换总结

    在默认情况下当屏幕从竖评变到横屏时会触发 onConfigurationChanged 事件 在默认情况下会重新加载画面并显示和横屏一样的画面,这样会有2个问题,   * 布局问题,在竖屏 显示的布局 ...

  6. 斯坦福大学Andrew Ng - 机器学习笔记(7) -- 异常检测

    大概用了一个月,Andrew Ng老师的机器学习视频断断续续看完了,以下是个人学习笔记,入门级别,权当总结.笔记难免有遗漏和误解,欢迎讨论. 鸣谢:中国海洋大学黄海广博士提供课程视频和个人笔记,在此深 ...

  7. 二值法方法综述及matlab程序

    在某些图像处理当中一个关键步是二值法,二值化一方面能够去除冗余信息,另一方面也会使有效信息丢失.所以有效的二值化算法是后续的处理的基础.比如对于想要最大限度的保留下面图的中文字,以便后续的定位处理. ...

  8. python基础23 -----进程和线程

    一.进程 1.什么是进程? 1.1 进程就是一个程序在一个数据集上的一次动态执行过程.进程一般由程序.数据集.进程控制块三部分组成. 1.2 程序是指进程需要完成那些功能以及如何完成. 1.3 数据集 ...

  9. 剑指offer 面试38题

    面试38题: 题:字符串的排列 题目:输入一个字符串,按字典序打印出该字符串中字符的所有排列.例如输入字符串abc,则打印出由字符a,b,c所能排列出来的所有字符串abc,acb,bac,bca,ca ...

  10. 常用python模块

    webbrowser浏览器控制模块 主要知道      导入   webbrowser使用webbrowser.open(url)运行就可以在默认浏览器打开指定url 来自为知笔记(Wiz)