[cpp] view plaincopyprint?

  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/p_w_picpaths/hahaya.ico");  
  17.   QPushButton *buttonHahaya = new QPushButton(iconHahaya, "hahaya");  
  18.   QIcon iconZhangSan(":/new/ico/p_w_picpaths/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/p_w_picpaths/lisi.ico");  
  27.   QPushButton *buttonStrange = new QPushButton(iconLiSi, "lisi");  
  28.   
  29.   //向QToolBox中添加第一个抽屉 名字为Friend  
  30.   toolBox->addItem(widget, "Friend");  
  31.   QIcon iconFriend(":/new/ico/p_w_picpaths/friend.ico");  
  32.   //设置第一个抽屉的图标  
  33.   toolBox->setItemIcon(0, iconFriend);  
  34.   
  35.   //向QToolBox中添加第二个抽屉 名字为Strange  
  36.   toolBox->addItem(buttonStrange, "Strange");  
  37.   QIcon iconStrange(":/new/ico/p_w_picpaths/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. }  


 

程序运行截图:

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

 

本文来源:http://blog.csdn.net/qiurisuixiang/article/details/6897923