我正在尝试创建一个带有下拉列表的按钮,但同时,我希望当前选定的文本能够像 QPushButton 一样被激活。这是我在寻找之前和之后的几张照片。(来自 MS Paint 的线条)
我想要它,所以如果用户单击该行的左侧,它将重新发送显示的任何项目的信号。如果用户单击下拉箭头,该列表将显示,从那时起将像普通的组框一样工作,直到选择另一个项目。
我正在尝试创建一个带有下拉列表的按钮,但同时,我希望当前选定的文本能够像 QPushButton 一样被激活。这是我在寻找之前和之后的几张照片。(来自 MS Paint 的线条)
我想要它,所以如果用户单击该行的左侧,它将重新发送显示的任何项目的信号。如果用户单击下拉箭头,该列表将显示,从那时起将像普通的组框一样工作,直到选择另一个项目。
您可以使用 aQToolButton
和 a 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()));