问题标签 [qmenu]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c++ - 如何向同一个 QMenu 添加多个 QAction?
我正在尝试实现 Qt 菜单自定义,并且我提供了一个功能,可以QAction
在同一个 RMB 上下文菜单中多次添加相同的功能。但是当我尝试这样做时:
添加两次,菜单上QAction
只出现一个实例。QAction
为什么我不能有多个实例QAction
?有什么诀窍可以做到这一点吗?我试图克隆/创建具有先前操作的所有属性的新操作。但我不知道获取/提取 aQActions
和SENDER
属性MEMBER
的方法。
python - QT 系统托盘应用程序中的更新菜单
我需要更新系统托盘应用程序的现有菜单项。起初,当应用程序加载时,会有两个菜单项。稍后当我单击一个按钮时,这些菜单项需要替换为新的菜单项。我怎样才能做到这一点?这是我的代码。
但是,这是行不通的。如果我尝试删除self.m.clear()
新的菜单项将附加到现有的(在这种情况下这是正常行为)。不是menu.clear()
清除当前菜单和新菜单应该在这里填充吗?
我已经看到这个类似的问题Qt QSystemTrayIcon 更改菜单项,该解决方案对我不起作用。我正在运行 Ubuntu 14.04。
qt - QMenu exec 在 QMenu 单击时返回(而不是 QAction)
我正在构建一个菜单,我希望能够同时单击QAction
和QMenu
项目。
运行exec
时,如果单击QMenu
. 即使我在QMenu
.
有没有办法做到这一点?
这是我尝试过的:
qt - 为禁用的 QToolButton 启用 QMenu 访问
我有QToolButton
一个附件QMenu
,其中包括几个QActions
. 其中一项操作是按钮的默认操作。单击操作时,默认操作会动态更改,效果很好。
现在,这些QActions
被信号启用和禁用。当(当前)默认操作QToolButton
被禁用时,也会被禁用。
这会导致无法访问QMenu
,其中仍然包含我希望能够选择的已启用QMenu
条目 ( )。QActions
所以:当默认操作获得 a 时,我还能以某种方式使菜单可用setEnabled(false)
吗?还是有其他一些想法?
qt4 - 以编程方式调用 QContextMenuEvent 以显示 QMenu
我想在没有用户交互的情况下在 QWidget 上弹出一个未折叠的 QMenu。目前,右键单击后,我在原本为空的 QWidget 上获得了 QMenu。有没有办法以编程方式调用 contextMenuEvent(QContextMenuEvent *event) 信号?
作为替代方案,我可以向菜单栏添加一个菜单。然而,这是崩溃的。是否可以显示未折叠的菜单?
我很高兴有任何想法。谢谢!
编辑:代码片段
我只看到没有菜单的空小部件。我从另一个类调用小部件的 show()。问题可能是 QMenu 并没有真正添加到小部件中。但我现在不知道如何在不使用菜单栏的情况下添加它:-(。
c++ - Qt:如果构造函数字符串以子字符串“about”开头,QAction 不会出现在菜单中
QAction 构造函数是否对某些字符串进行了不同的处理?这很奇怪——如果构造函数中的 QString 以“About”开头,这似乎使 QAction 在菜单中不可见。
这个片段在 QMainWindow 的子类的方法中:
有人可以解释这种行为吗?
qt - 在 QMenuBar 的 TopRightCorner 上设置 QMenu
有人可以解释为什么这个语句什么都不做吗?
menuBar
是一个QMenuBar
并且menuHelp
是QMenu
我仍然将所有 QMenu 聚集在窗口的左侧
c++ - 在多个 Qmenu 中重用 QMenu
大家好,
我有一些代码根据某些数据生成动态填充的 QMenu(我将其称为 thisMenu)。创建 QMenu thisMenu,将一些“主”QWidget 作为父级,并添加到此 QWidget 内的 QMenuBar (menuBar.addMenu(&thisMenu)。稍后,我希望用户能够从上下文菜单访问 thisMenu(用户右键单击 QWidget 的某些部分,它会弹出一个带有一些操作的 QMenu(称为 contextMenu),以及之前的 QMenu 作为子菜单)。
如果我重用我首先使用 contextMenu.addMenu(&thisMenu) 创建的 QMenu,我会发现,即使 contextMenu 在正确的全局位置弹出,thisMenu 也总是被翻译到其他位置并且有时出现在上面,有时出现在 contextMenu 下。
我可以测试这是否与父链相关联:thisMenu 不是 contextMenu 的子项,如果我将它创建为 contextMenu 的子项,一切都很好。有没有一种方法可以干净地处理这种情况,而无需重新创建类似于 thisMenu 的 QMenu,或更改 thisMenu 的父级;即在QMenuBar 和一些上下文菜单/QMenu 中重用thisMenu?在其他方面,处理 QMenu 的育儿链和共享 QMenu 的正确方法是什么?
谢谢,
c++ - Qt:在 Mac OS X 上更改应用程序 QMenuBar 内容
我的应用程序将 QTabWidget 用于多个“页面”,其中顶级菜单根据用户所在的页面而变化。
我的问题是尝试重新创建菜单栏的内容会导致严重的显示问题。它可以在除 Mac OS X 之外的所有平台上按预期使用第一种和第三种样式(尚未测试过第二种,但我宁愿不使用那种样式)。
第一个菜单是以我在应用程序中创建最多的方式创建的,它们会收到正确的标题,但一旦重新创建菜单就会消失。
第二个菜单出现在菜单栏的初始填充和重新填充上,但在这两种情况下都有标签“无标题”。第二个菜单的样式仅在尝试解决此问题时创建,因此这是我能够保留菜单的唯一方法。
第三个动态菜单永远不会出现,句号。我使用这种样式来动态填充即将显示的菜单。
我试过删除 QMenuBar 并重新创建一个
并使用它而不是m_menuBar->clear()
但它具有相同的行为。
我没有足够的声誉来内联发布图片,所以我将包含 imgur 链接:
启动行为:http: //i.imgur.com/ZEvvGKl.png
发布按钮点击行为:http : //i.imgur.com/NzRmcYg.png
我创建了一个最小示例来在带有 Qt 5.3 的 Mac OS X 10.9.4 上重现此行为。
主窗口.cpp
主窗口.h
python - 从 qMenu 选择中抓取文本
我正在尝试获取 qMenu 中列出的选择,并根据 qMenu 中的用户选择 - camSelBtn
,它将选择显示到 qLineEdit -currentCamTxt
但是,虽然我能够使菜单正常工作,但选择不起作用。