Мне нужно показать/скрыть элемент в меню Qt, чтобы при нажатии пользователем Hide
определенный виджет скрыт, а пункт меню изменится на Show
, а также, если пользователь нажимает Show
отображается виджет, и пункт меню изменяется на Hide
. Как это можно достичь в Qt 5.6?Как создать пункт меню переключения в Qt 5.6
0
A
ответ
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);