Как использовать QToolButton

0

Я пытаюсь создать кнопку вниз с помощью 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);
}

Пожалуйста, кто-нибудь может мне помочь? Заранее спасибо,

Теги:
qt

1 ответ

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

Ещё вопросы

Сообщество Overcoder
Наверх
Меню