Я пытаюсь создать кнопку вниз с помощью 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);
}
Пожалуйста, кто-нибудь может мне помочь? Заранее спасибо,
Похоже, вы забываете подключить свою кнопку к слоту (или, по крайней мере, это не показано в фрагменте кода, который вы опубликовали). Я просто добавил инструкцию 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