• QT 多页面切换之QTabWidget


    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  


     

    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.   //新建第一个页面的部件   
    17.   QWidget *widget = new QWidget();  
    18.   QLineEdit *lineEdit = new QLineEdit();  
    19.   QPushButton *pushButton = new QPushButton("Test");  
    20.   QVBoxLayout *vLayout = new QVBoxLayout();  
    21.   vLayout->addWidget(lineEdit);  
    22.   vLayout->addWidget(pushButton);  
    23.   widget->setLayout(vLayout);  
    24.   
    25.   
    26.   //新建第二个页面的部件   
    27.   QLabel *label = new QLabel("Hello Qt");  
    28.   
    29.   //新建第三个页面的部件   
    30.   QPushButton *pushButton3 = new QPushButton("Click Me");  
    31.   
    32.   //向QTabWidget中添加第一个页面   
    33.   QIcon icon1(":/new/icon/images/1.ico");  
    34.   tabWidget->addTab(widget, icon1, "Tab1");  
    35.   
    36.   //向QTabWidget中添加第二个页面   
    37.   QIcon icon2(":/new/icon/images/2.ico");  
    38.   tabWidget->addTab(label, icon2, "Tab2");  
    39.   
    40.   //向QTabWidget中添加第三个页面   
    41.   QIcon icon3(":/new/icon/images/3.ico");  
    42.   tabWidget->addTab(pushButton3, icon3, "Tab3");  
    43.   
    44.   QHBoxLayout *layout = new QHBoxLayout();  
    45.   layout->addWidget(tabWidget);  
    46.   
    47.   this->setLayout(layout);  
    48.   this->resize(300, 100);  
    49.   this->setWindowTitle("QTabWidgetDemo");  
    50. }  


     

    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. }  


     

    资源文件截图:

    程序运行截图:

  • 相关阅读:
    [Web安全] XXE漏洞攻防学习(中)
    [Web安全] XXE漏洞攻防学习(上)
    [转]kali中eth0网卡突然消失解决方案
    [漏洞复现]CVE-2018-4887 Flash 0day
    [漏洞复现]CVE-2010-2883 Adobe Reader 打开pdf电脑即刻中招
    [漏洞复现] CVE-2017-11882 通杀所有Office版本
    墨菲定律:Mac本硬盘坏了
    独立思考
    阅读书单
    2020未来小思考
  • 原文地址:https://www.cnblogs.com/xj626852095/p/3648120.html
Copyright © 2020-2023  润新知