Пункты строки меню: объекты действий . Чтобы что-то сделать при нажатии, вам нужно поймать сигнал triggered()
из действия. Подробнее о сигналах и слотах здесь .
Для этого вам необходимо объявить новый слот в вашем классе MainWindow. Qt также поддерживает выполнение этого автоматически, без необходимости что-либо подключать, но я предпочитаю делать это самостоятельно. Если вам это не интересно, просто пропустите эту часть.
Сначала мы объявляем новый слот в вашем классе окна:
private slots:
void clickMenuButton();
Затем в конструкторе вам нужно подключить сработавший сигнал к вашему новому слоту:
connect(ui.actionObject, SIGNAL(triggered()), this, SLOT(clickMenuButton()));
Первый аргумент - это объект, который содержит сигнал, который мы будем слушать (кнопка вашего меню). Второе - это название сигнала. Третий - это объект, который содержит приемный слот (в нашем случае это окно). Четвертый слот.
И точно так же, clickMenuButton()
будет вызываться при каждом нажатии действия.
Как я уже говорил, Qt также может автоматически подключать сигналы к слотам . Недостатком здесь является то, что вы не можете изменить имя слота, но вам также не нужно подключать его.
Qt Creator поддерживает создание слотов для виджетов: в случае действия с вашим меню вам следует перейти к конструктору форм, и вы должны увидеть список действий в вашей форме (если нет, найдите Action Editor ). Щелкните правой кнопкой мыши нужное действие и нажмите Перейти в слот ... . Там дважды щелкните triggered()
.
Qt Creator откроет новый слот в вашем редакторе кода, и вы сможете делать все, что захотите!