В настоящее время у меня есть что-то вроде этого в моем коде:
QMenu *mabout = new QMenu("About");
QToolButton* tb_about = new QToolButton();
QAction *test= new QAction(mabout);
test->setText("Test");
mabout->addAction(test);
tb_about->setText(mabout->title());
tb_about->setMenu(mabout);
tb_about->setPopupMode(QToolButton::MenuButtonPopup);
ui.toolBar->addWidget(tb_about);
Теперь, это дает мне следующее:
Теперь я хочу отобразить раскрывающееся меню, если я нажму кнопку «О программе» или стрелку вниз. Однако ничего не происходит, когда я нажимаю на текст о. Вот как это выглядит:
Ничего не падает. Единственный случай, когда что-то падает, это когда я нажимаю стрелку вниз. Есть ли способ сделать выпадающее при нажатии стрелки вниз?
Я бы предложил вам использовать QPushButton вместо QToolButton. Вот рабочий пример:
QMainWindow window;
QVBoxLayout *layout = new QVBoxLayout();
QPushButton *button = new QPushButton( "Menu button" );
QMenu *menu = new QMenu();
button->setMenu( menu );
menu->addAction( "teste1" );
layout->addWidget( button );
window.setCentralWidget( new QWidget() );
window.centralWidget()->setLayout( layout );
window.show();
Других решений пока нет …