如何使Qt中的菜单项变灰
How to gray out a menu item in Qt
我正在用C++在Qt中用菜单栏(menuBar)构建一个小程序,我想知道当某个变量被激活时,如何灰显(例如禁用)菜单项。有可能吗?
如果您知道相应QAction的索引:
QMenu::actions.at(i).setEnabled(false);
附言:如下所示,setEnabled(bool)
和setDisabled(bool)
是插槽(toggle()
也是),因此它们可以连接到指示需要更改动作可用性的信号。
查找操作的索引并不一定方便。如果您已经用QtCreator的表单编辑器构建了界面,那么您将为每个菜单项执行一个操作。他们的名字是基于你第一次给动作的文字。例如,如果您以交互方式输入标题为Foo-Bar的菜单项,则会为您创建一个名为actionFoo_Bar的操作。只需在代码编辑器中键入ui->action,然后观察QtCreator将提出什么"名称完成"。
在这种情况下,我会考虑这样的电话:
ui->actionFoo_Bar.setEnabled(false);
您甚至可以使用使菜单项消失
ui->actionFoo_Bar.setVisible(false);
相关文章:
- 难以从 CImageList 设置菜单项位图
- 连接资源文件中的字符串,并将其传递给菜单项字符串 (winapi) c++
- 获取 c++ mfc vs2015 中弹出资源菜单项的 id
- 无法在 cocos2dx 中显示菜单菜单项图像
- 带有回调函数的cocos2d-x菜单项错误
- 如何安全地将包含的对象(菜单项)与需要容器(菜单)的API同步
- QT在菜单项上显示模态对话框(.UI)单击
- 将菜单项添加到Windows Explorer右键单击Java中的上下文菜单
- 如何在Qt中再次将菜单项变灰
- 如何在 c++ win32 API 中向菜单项添加图标
- gtkmm3中的菜单项始终处于禁用状态
- 在cocos2dx中创建菜单项标签时断言失败
- 单击上下文菜单项时运行程序
- MFC 菜单项未打开对话框
- 正在获取所选子菜单项的值
- 为什么我的菜单项不可点击?
- 如何获取插入菜单项时要使用的下一个命令 ID
- 在C++中检索Windows中的菜单项列表
- 如何使Qt中的菜单项变灰
- 如何使菜单项不活动