Как создать пункт меню переключения в Qt 5.6
Мне нужно иметь элемент Показать / Скрыть в меню Qt, чтобы при нажатии пользователем Hide
определенный виджет скрыт, а пункт меню меняется на Show
, а также если пользователь нажимает Show
виджет отображается, а пункт меню меняется на Hide
, Как этого достичь в Qt 5.6?
1 ответ
Решение
Вы можете добавить в свой QMenu
немного QAction
с setCheckable(true)
функция. После этого вы можете использовать метод SIGNAL/SLOT, чтобы сделать то, что вы хотите, например:
.H файл:
<...>
QAction *_togAct;
<...>
public slots:
void change(bool set);
Файл.CPP:
void YourClass::change(bool set)
{
if(set) {
_togAct->setText("Show");
<...>
}
else {
_togAct->setText("Hide");
<...>
}
}
Где-то в классе:
_togAct = new QAction(tr("Hide"), this);
_togAct->setCheckable(true);
connect(_togAct, &QAction::toggled, this, &YourClass::change);
men->addAction(_togAct);