Files
Obsidian-Main/21.01. Programming/QT/Dropdown button.md

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);
```