ui->toolButton->setMenu(menu);//設置按鈕的彈出菜單
ui->toolButton->setPopupMode(QToolButton::DelayedPopup);//設置彈出菜單的方式,默認情況下,設置為DelayedPopup(延遲彈出)
// QToolButton::DelayedPopup 0 按下按鈕一定時間后(超時風格依賴,參考:QStyle::SH_ToolButton_PopupDelay),顯示菜單。
//一個典型案例:瀏覽器中工具欄的“后退”按鈕
// QToolButton::MenuButtonPopup 1 這種模式下,工具按鈕顯示一個特殊的箭頭以指示菜單是否存在,按下按鈕的箭頭部分時顯示菜單。
// QToolButton::InstantPopup 2 按下工具按鈕時菜單顯示,無延遲。這種模式下,按鈕自身的動作不觸發。
ui->toolButton->setToolButtonStyle(Qt::ToolButtonIconOnly);
#if 0
設置按鈕風格,只顯示一個圖標,文本或文本位於圖標旁邊、下方。默認值是Qt::ToolButtonIconOnly。
枚舉Qt::ToolButtonStyle:
常量 值 描述
Qt::ToolButtonIconOnly 0 只顯示圖標
Qt::ToolButtonTextOnly 1 只顯示文本
Qt::ToolButtonTextBesideIcon 2 文本顯示在圖標旁邊
Qt::ToolButtonTextUnderIcon 3 文本顯示在圖標下邊
Qt::ToolButtonFollowStyle 4 遵循QStyle::StyleHint
#endif
ui->toolButton->setArrowType(Qt::NoArrow);
# if 0
設置按鈕是否顯示一個箭頭,而不是一個正常的圖標。這將顯示一個箭頭作為QToolButton的圖標。
默認情況下,這個屬性被設置為Qt::NoArrow。
枚舉Qt::ArrowType:
常量 值
Qt::NoArrow 0
Qt::UpArrow 1
Qt::DownArrow 2
Qt::LeftArrow 3
Qt::RightArrow 4
#endif
// void setDefaultAction(QAction * action)
QAction *pAction = new QAction(this);
pAction->setText(QString::fromLocal8Bit("設置名稱"));
pAction->setIcon(QIcon(":/Images/logo")); //icon路徑
ui->toolButton->setIconSize(QSize(48, 48));//設置ICON大小
pAction->setToolTip(QString::fromLocal8Bit("運行時,鼠標停留在按鈕處就會顯示toolTip"));
ui->toolButton->setDefaultAction(pAction); // 設置默認的QAction,如果有一個默認的action,該action則會定義QToolButton的文本、圖標、TooTip等按鈕的屬性。
ui->toolButton->setToolButtonStyle(Qt::ToolButtonTextUnderIcon);