如何在 Qt 5.6 中创建切换菜单项
How to create toggle menu item in Qt 5.6
我需要在 Qt 菜单中有一个 Show/Hide 项,以便当用户单击 Hide
时隐藏某个小部件并且菜单项更改为 Show
,并且同样,如果用户单击 Show
,将显示小部件并且菜单项更改为 Hide
。这在 Qt 5.6 中如何实现?
您可以使用 setCheckable(true)
函数向 QMenu
添加一些 QAction
。之后你可以使用 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");
<...>
}
}
class中的某处:
_togAct = new QAction(tr("Hide"), this);
_togAct->setCheckable(true);
connect(_togAct, &QAction::toggled, this, &YourClass::change);
men->addAction(_togAct);
我需要在 Qt 菜单中有一个 Show/Hide 项,以便当用户单击 Hide
时隐藏某个小部件并且菜单项更改为 Show
,并且同样,如果用户单击 Show
,将显示小部件并且菜单项更改为 Hide
。这在 Qt 5.6 中如何实现?
您可以使用 setCheckable(true)
函数向 QMenu
添加一些 QAction
。之后你可以使用 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");
<...>
}
}
class中的某处:
_togAct = new QAction(tr("Hide"), this);
_togAct->setCheckable(true);
connect(_togAct, &QAction::toggled, this, &YourClass::change);
men->addAction(_togAct);