首页 > 代码库 > 自定义QToolButton

自定义QToolButton

最近做界面需要添加很多工具栏按钮,所以自己定义了一个Button

直接上代码

 

 1 #include "SettingButton.h"
 2 #include <QToolButton>
 3 #include <QSize>
 4 
 5 _DIYButton::_DIYButton(QWidget *_Parent) :
 6     QToolButton(_Parent)
 7 {
 8     setSizePolicy(QSizePolicy::Fixed,QSizePolicy::Fixed);
 9     setToolButtonStyle(Qt::ToolButtonTextUnderIcon);
10     setAutoRaise(true);
11     setPopupMode(QToolButton::InstantPopup);
12     //setPopupMode(QToolButton::MenuButtonPopup);
13 }
14 
15 /* sizeHint()函数重写 */
16 QSize _DIYButton::sizeHint() const
17 {
18     QSize _NewSize = QToolButton::sizeHint();
19     /*
20     _NewSize.rheight() += 10;
21     _NewSize.rwidth() += 5;
22     */
23     _NewSize.setHeight(60);
24     _NewSize.setWidth(60);
25     return _NewSize;
26 }
 1 #ifndef SETTINGBUTTON_H
 2 #define SETTINGBUTTON_H
 3 
 4 #include <QToolButton>
 5 #include <QListWidget>
 6 class QSize;
 7 
 8 class _DIYButton : public QToolButton
 9 {
10     Q_OBJECT
11 public:
12     _DIYButton(QWidget *_Parent = 0);
13     
14 signals:
15     
16 public slots:
17 
18 protected:
19     QSize sizeHint() const;
20 };
21 
22 #endif // SETTINGBUTTON_H