我正在尝试创建一个带有下拉列表的按钮,但与此同时,我希望能够像QPushButton一样激活当前所选文本。这里有几张我正在寻找的照片,包括之前和之后。 (来自MS Paint的行)
我想拥有它,如果用户点击该行的左侧,它将重新发送显示的任何项目的信号。如果用户单击下拉箭头,该列表将显示,从那时起将像普通的Group Box一样,直到选择了另一个Item。
答案 0 :(得分:2)
您可以使用QToolButton
和QMenu
:
QToolButton *btn = new QToolButton();
btn->setPopupMode(QToolButton::MenuButtonPopup);
QMenu *btnMenu = new QMenu;
QAction *action1 = btnMenu->addAction("action1");
QAction *action2 = btnMenu->addAction("action2");
btn->setMenu(btnMenu);
connect(btn, SIGNAL(clicked()), this, SLOT(btnSlot()));
connect(action1, SIGNAL(triggered()), this, SLOT(action1Slot()));
connect(action2, SIGNAL(triggered()), this, SLOT(action1Slot()));