问题标签 [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.
qt - QToolButton 仅在按下并按住时才会弹出菜单
我正在尝试实现一个“打开”按钮,这样如果用户按住它并按住它,就会弹出一个供用户选择的应用程序菜单;但是一旦用户释放鼠标,菜单就会消失。如果用户在未选择菜单上的应用程序的情况下释放鼠标,则应使用默认应用程序打开文件。我将此按钮实现为 aQToolButton
并按如下方式连接信号:
现在,当用户按下按钮时,将弹出菜单。但是,当用户释放按钮时,菜单仍然存在,并且通过单击它会触发菜单上的操作。DelayedPopup
我在和InstantPopup
模式下都试过了。只要菜单设置为self.ui_open_btn
,我就无法再捕捉到任何released
信号。用户释放鼠标时如何隐藏菜单?如何通过释放鼠标来触发菜单上的动作?
- 添加 - -
我发现了另一个关于使用的问题QToolButton
:按下按钮时菜单总是弹出。相反,我想捕捉pressed
信号,做一些检查以确定菜单是否应该弹出。所以我改变了我的方法,通过子类化QPushButton
和QMenu
. 请参阅我在下面的答案中提出的代码。
谢谢。
qt - 在 QT 中动态创建与工具按钮关联的上下文菜单
在我的应用程序中,我有一个与 USB 笔驱动器存在相关的 QToolButton。当插入笔式驱动器时,我想显示 QToolButton 并创建一个与笔式驱动器内容相关联的上下文菜单。我有一个动态创建的不同菜单分配给按钮。
我的代码第一次运行良好,但是当我创建一个新菜单时它没有出现。在最后一个版本的代码中,当我第二次显示按钮时,我得到了上一个菜单(卸载是唯一存在的项目),当我单击该项目时它什么也不做。
编辑:如果我使用 QAction 而不是 QWidgetAction 代码可以正常工作。所以它似乎与它内部使用的 QLabel 的 QWidgetAction 有关。
以下是我的代码的简化版本:
}
c++ - QMenu 的显示/隐藏
我通过继承创建了开始菜单QMenu
。我想以QPropertyAnimation
滑动方式显示和隐藏它
问题:
当我明确调用它们时(单击开始按钮),显示和隐藏工作正常。但是当我在开始菜单之外单击时,它会立即隐藏。请建议我这可能是什么原因:
macos - 在 Qt 应用程序中如何捕获“Cmd-Q”或“退出”菜单点击
在我的 Qt 应用程序中,我有一个退出例程,它在最终退出之前优雅地清理所有内容,否则某处可能会发生崩溃。该应用程序在系统托盘中运行,并且为系统托盘图标定义了一个“退出”菜单。在 quitAction 上,我设置了菜单角色,以便它与 Mac 的应用程序菜单合并,但我没有看到我的插槽被调用。代码如下:
我也尝试在 QApplication 上捕获 QCloseEvent,但即使这样似乎也不起作用。
我在这里错过了什么吗?在退出期间调用我自己的清理例程的最佳方法是什么?
qt - QMenu 显示在主窗口之外
我正在使用自定义 QGraphicsWidget,当我右键单击它时,我想调出一个菜单。我是这样开始的:
但是菜单显示在主应用程序窗口之外,靠近我的另一台显示器的右下角。当我使用注释掉的版本时,它会出现在我的主窗口顶部。我已经尝试手动调整点以在窗户内按摩它,但它只会跳到窗户顶部或悬挂在底部,永远不会在里面。
qt5 - 如何在 Qt 的 QMenu 中隐藏右箭头?
谁能告诉我如何隐藏 QMenu 项目的右箭头。我尝试使用样式表。但它没有用..请帮助。
我的样式表.qss
在代码中我将属性设置为,
menuItem->setProperty("hide", true)
;
但是在样式表(如下所示)中,如果我删除了动态属性,那么它工作正常。右箭头的背景颜色变为红色。
python - pyqt动态生成QMenu动作并连接
仍在学习 pyqt 的工作原理。我想动态生成一个 customContextMenu 并连接一个函数。到目前为止,我得到了以下信息,但连接部分不起作用?
c++ - 获取选中的菜单项
我在我的应用程序中的一个按钮(QPushButton)上实现运行时菜单,当他单击上传按钮时,用户必须在 ftp 和 http 之间做出选择。
我的问题是,我怎么知道用户选择了哪个选择,或者他们有什么功能可以做到这一点。
谢谢你
python - 为什么 QToolTips 不会出现在 QMenu 中的 QActions 上
我正在做一个用 GUI 编写的应用程序PySide
。我在一个QMenu
上设置了一个,通过QPushButton
添加了几个。为了进一步向用户解释这些操作,我用.QActions
QMenu.addAction
QToolTip
QAction.setToolTip
当我现在运行 GUI 时,我QToolTip
不会显示。下面发布的示例重现了相同的问题,有什么想法吗?
提前致谢
qt5 - 如何使用 QSignalMapper 获取 QAction 项目列表
当我单击子菜单项列表时,我正在开发一个代码片段来执行类似的、不同的操作。请检查附加的快照。QSignalMapper 是将多个信号连接到同一个插槽的最佳解决方案。
但是我无法准确定位哪个信号要为哪个插槽调用。我已经阅读了很多关于 QSignalMapper 的理论,
甚至实现了他们的代码。与提到的示例程序不同,我的 QAction 对象显然不能像我们在数组中定义元素那样定义,因为它们的名称是由设计窗口自动生成的。
我无法理解,我应该在此处放置什么作为 SIGNAL,以及何时应该使用 setMapping 函数?如果我使用 setMapping 函数,我应该实现哪些参数?我只是没有彻底了解这个概念,不知道该做什么,该问谁,并在我的代码中犯了错误。你能告诉我我做错了什么吗?我检查了这个以供参考,因为他有类似的问题:
***********************************更新部分(截至 2014 年 3 月 3 日)**** ****************************************************** ******************
我的问题与以下问题非常相似: 如何将 QActions 列表添加到 QMenu 并使用单个插槽处理它们?
我也尝试使用 setData in helpAction(QAction *pAction)
,但我仍然错了,因为当我单击区域阈值子菜单中的操作项时,我得到的唯一值是
所以我更新的问题是,如何使用setData(const QVariant &userData)
为我的操作项分配索引。请指教。
主窗口.h
主窗口.cpp