我正在尝试使用QToolBar创建一个下拉按钮。 我尝试使用以下策略来做到这一点:
http://qt-project.org/forums/viewthread/5377
问题是当我点击按钮时按钮没有立即响应。只需几次点击即可显示菜单。
我猜我把代码放在了错误的地方,但我应该把它放在哪里?
这是我的代码:
Proto::Proto(QWidget *parent) :
QMainWindow(parent),
ui(new Ui::Proto)
{
ui->setupUi(this);
QMenu *menu = new QMenu("Menu");
QWidgetAction *action = new QWidgetAction(this);
QPushButton *button2 = new QPushButton("Click me", menu);
action->setDefaultWidget(button2);
menu->addAction(action);
ui->btnVolume->setMenu(menu);
}
拜托,有人可以帮帮我吗? 提前谢谢,
答案 0 :(得分:0)
好像忘记将按钮连接到插槽(或者至少,它没有显示在您发布的代码中)。我刚刚添加了connect()
语句,就像那样
QPushButton *button2 = new QPushButton("Click me", menu);
connect(button2, SIGNAL(clicked()), SLOT(dosmth()));
action->setDefaultWidget(button2);
然后实现了这个简单的dosmth()
Q_SLOT
void MainWindow::dosmth() {
qDebug() << "Hi";
}
并在每个按钮点击,我在控制台上得到这个:
Hi
Hi
Hi