如何在Qt 5.6中创建切换菜单项

时间:2016-05-30 16:58:21

标签: qt qmenu

我需要在Qt菜单中有一个显示/隐藏项目,这样当用户点击Hide隐藏某个小部件并且菜单项改为Show时,如果用户同样如此点击Show显示小部件,菜单项更改为Hide。如何在Qt 5.6中实现这一目标?

1 个答案:

答案 0 :(得分:1)

您可以使用QMenu功能向QAction部分setCheckable(true)添加 <...> QAction *_togAct; <...> public slots: void change(bool set); 个功能。之后,您可以使用SIGNAL / SLOT方法执行您想要的操作,例如:

.H文件:

void YourClass::change(bool set)
{
    if(set) {
        _togAct->setText("Show");
        <...>
    }
    else {
        _togAct->setText("Hide");
        <...>
    }
}

.CPP文件:

_togAct = new QAction(tr("Hide"), this);
_togAct->setCheckable(true);
connect(_togAct, &QAction::toggled, this, &YourClass::change);
men->addAction(_togAct);

课堂上的某个地方:

get_obs1