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