21 lines
933 B
Markdown
21 lines
933 B
Markdown
![[Pasted image 20220519094358.png]]
|
|
|
|
1. Button必須是QToolButton.
|
|
2. 建立menu.
|
|
3. 建立action.
|
|
4. 把action加到menu裡面
|
|
5. 把menu設定給button
|
|
6. code example:
|
|
```cpp
|
|
QMenu* saveFrameMenu = new QMenu;
|
|
saveRawAction = new QAction(QIcon(QPixmap(":/image/resources/button-raw.png")), "SaveRaw", this);
|
|
saveJpgAction = new QAction(QIcon(QPixmap(":/image/resources/button-jpg.png")), "SaveJpg", this);
|
|
saveBmpAction = new QAction(QIcon(QPixmap(":/image/resources/button-bmp.png")), "SaveBmp", this);
|
|
saveFrameMenu->addAction(saveRawAction);
|
|
saveFrameMenu->addAction(saveJpgAction);
|
|
saveFrameMenu->addAction(saveBmpAction);
|
|
ui.toolButtonSaveFrame->setMenu(saveFrameMenu);
|
|
ui.toolButtonSaveFrame->setDefaultAction(saveJpgAction);
|
|
ui.toolButtonSaveFrame->setToolButtonStyle(Qt::ToolButtonTextBesideIcon);
|
|
ui.toolButtonSaveFrame->setPopupMode(QToolButton::MenuButtonPopup);
|
|
``` |