Qt多页面切换之QTabWidget

本文介绍了一个使用 Qt 的 QTabWidget 创建多标签界面的应用实例。该应用创建了包含三个不同标签页的对话框,每个标签页都有特定的功能组件,如 QLineEdit 和 QPushButton,并使用 QIcon 设置了图标。
  1. //mydialog.h  
  2. #ifndef MYDIALOG_H  
  3. #define MYDIALOG_H  
  4. #include <QDialog>  
  5.  QTabWidget;  
  6. class  MyDialog:  public  QDialog  
  7. {  
  8.   Q_OBJECT  
  9. 公众:  
  10.   显式 MyDialog(QWidget * parent = 0);  
  11. 信号:  
  12. 公众 插槽:  
  13. 私人的:  
  14.   QTabWidget * tabWidget;  
  15. };  
  16. #endif // MYDIALOG_H  


 

[cpp]   查看普通 副本  
 
  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的(父)  
  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. }  


 

[cpp]  view plain  copy
 
  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. }  


 

资源文件截图:

 

程序运行截图:

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值