Qt基础学习(5)-----抽屉效果之QToolBox

  1. //mydialog.h  
  2. #ifndef MYDIALOG_H  
  3. #define MYDIALOG_H  
  4. #include <QDialog>  
  5. class QToolBox;  
  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.   QToolBox *toolBox;  
  15. };  
  16. #endif // MYDIALOG_H  


 

 

  1. //mydialog.cpp  
  2. #include "mydialog.h"  
  3. #include <QtGui/QToolBox>  
  4. #include <QtGui/QWidget>  
  5. #include <QPushButton>  
  6. #include <QtGui/QHBoxLayout>  
  7. #include <QtGui/QVBoxLayout>  
  8. MyDialog::MyDialog(QWidget *parent) :  
  9.   QDialog(parent)  
  10. {  
  11.   //新建一个QToolBox  
  12.   toolBox = new QToolBox(this);  
  13.   
  14.   //新建一个QWidget 添加到QToolBox中  
  15.   QWidget *widget = new QWidget();  
  16.   QIcon iconHahaya(":/new/ico/images/hahaya.ico");  
  17.   QPushButton *buttonHahaya = new QPushButton(iconHahaya, "hahaya");  
  18.   QIcon iconZhangSan(":/new/ico/images/zhangsan.ico");  
  19.   QPushButton *buttonZhangSan = new QPushButton(iconZhangSan, "zhangsan");  
  20.   QVBoxLayout *layout = new QVBoxLayout();  
  21.   layout->addWidget(buttonHahaya);  
  22.   layout->addWidget(buttonZhangSan);  
  23.   widget->setLayout(layout);  
  24.   
  25.   //新建一个QPushButton 添加到QToolBox中  
  26.   QIcon iconLiSi(":/new/ico/images/lisi.ico");  
  27.   QPushButton *buttonStrange = new QPushButton(iconLiSi, "lisi");  
  28.   
  29.   //向QToolBox中添加第一个抽屉 名字为Friend  
  30.   toolBox->addItem(widget, "Friend");  
  31.   QIcon iconFriend(":/new/ico/images/friend.ico");  
  32.   //设置第一个抽屉的图标  
  33.   toolBox->setItemIcon(0, iconFriend);  
  34.   
  35.   //向QToolBox中添加第二个抽屉 名字为Strange  
  36.   toolBox->addItem(buttonStrange, "Strange");  
  37.   QIcon iconStrange(":/new/ico/images/strange.ico");  
  38.   toolBox->setItemIcon(1, iconStrange);  
  39.   
  40.    //设置抽屉内控件距离  
  41.   toolBox->layout()->setSpacing(0);  
  42.   
  43.   
  44.   QHBoxLayout *hLayout = new QHBoxLayout();  
  45.   hLayout->addWidget(toolBox);  
  46.   hLayout->setMargin(0);  
  47.   
  48.   this->setLayout(hLayout);  
  49.   this->resize(100, 200);  
  50.   this->setWindowTitle("QToolBoxDemo");  
  51. }  


 

 

  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
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值