问题标签 [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.

0 投票
2 回答
2092 浏览

qt - QToolButton 仅在按下并按住时才会弹出菜单

我正在尝试实现一个“打开”按钮,这样如果用户按住它并按住它,就会弹出一个供用户选择的应用程序菜单;但是一旦用户释放鼠标,菜单就会消失。如果用户在未选择菜单上的应用程序的情况下释放鼠标,则应使用默认应用程序打开文件。我将此按钮实现为 aQToolButton并按如下方式连接信号:

现在,当用户按下按钮时,将弹出菜单。但是,当用户释放按钮时,菜单仍然存在,并且通过单击它会触发菜单上的操作。DelayedPopup我在和InstantPopup模式下都试过了。只要菜单设置为self.ui_open_btn,我就无法再捕捉到任何released信号。用户释放鼠标时如何隐藏菜单?如何通过释放鼠标来触发菜单上的动作?

- 添加 - -

我发现了另一个关于使用的问题QToolButton:按下按钮时菜单总是弹出。相反,我想捕捉pressed信号,做一些检查以确定菜单是否应该弹出。所以我改变了我的方法,通过子类化QPushButtonQMenu. 请参阅我在下面的答案中提出的代码。

谢谢。

0 投票
2 回答
3209 浏览

qt - 在 QT 中动态创建与工具按钮关联的上下文菜单

在我的应用程序中,我有一个与 USB 笔驱动器存在相关的 QToolButton。当插入笔式驱动器时,我想显示 QToolButton 并创建一个与笔式驱动器内容相关联的上下文菜单。我有一个动态创建的不同菜单分配给按钮。

我的代码第一次运行良好,但是当我创建一个新菜单时它没有出现。在最后一个版本的代码中,当我第二次显示按钮时,我得到了上一个菜单(卸载是唯一存在的项目),当我单击该项目时它什么也不做。

编辑:如果我使用 QAction 而不是 QWidgetAction 代码可以正常工作。所以它似乎与它内部使用的 QLabel 的 QWidgetAction 有关。

以下是我的代码的简化版本:

}

0 投票
1 回答
1331 浏览

c++ - QMenu 的显示/隐藏

我通过继承创建了开始菜单QMenu。我想以QPropertyAnimation滑动方式显示和隐藏它

问题:
当我明确调用它们时(单击开始按钮),显示和隐藏工作正常。但是当我在开始菜单之外单击时,它会立即隐藏。请建议我这可能是什么原因:

0 投票
1 回答
1317 浏览

macos - 在 Qt 应用程序中如何捕获“Cmd-Q”或“退出”菜单点击

在我的 Qt 应用程序中,我有一个退出例程,它在最终退出之前优雅地清理所有内容,否则某处可能会发生崩溃。该应用程序在系统托盘中运行,并且为系统托盘图标定义了一个“退出”菜单。在 quitAction 上,我设置了菜单角色,以便它与 Mac 的应用程序菜单合并,但我没有看到我的插槽被调用。代码如下:

我也尝试在 QApplication 上捕获 QCloseEvent,但即使这样似乎也不起作用。

我在这里错过了什么吗?在退出期间调用我自己的清理例程的最佳方法是什么?

0 投票
1 回答
943 浏览

qt - QMenu 显示在主窗口之外

我正在使用自定义 QGraphicsWidget,当我右键单击它时,我想调出一个菜单。我是这样开始的:

但是菜单显示在主应用程序窗口之外,靠近我的另一台显示器的右下角。当我使用注释掉的版本时,它会出现在我的主窗口顶部。我已经尝试手动调整点以在窗户内按摩它,但它只会跳到窗户顶部或悬挂在底部,永远不会在里面。

0 投票
0 回答
1786 浏览

qt5 - 如何在 Qt 的 QMenu 中隐藏右箭头?

谁能告诉我如何隐藏 QMenu 项目的右箭头。我尝试使用样式表。但它没有用..请帮助。

我的样式表.qss

在代码中我将属性设置为,

menuItem->setProperty("hide", true);

但是在样式表(如下所示)中,如果我删除了动态属性,那么它工作正常。右箭头的背景颜色变为红色。

0 投票
3 回答
10574 浏览

python - pyqt动态生成QMenu动作并连接

仍在学习 pyqt 的工作原理。我想动态生成一个 customContextMenu 并连接一个函数。到目前为止,我得到了以下信息,但连接部分不起作用?

0 投票
1 回答
51 浏览

c++ - 获取选中的菜单项

我在我的应用程序中的一个按钮(QPushButton)上实现运行时菜单,当他单击上传按钮时,用户必须在 ftp 和 http 之间做出选择。

我的问题是,我怎么知道用户选择了哪个选择,或者他们有什么功能可以做到这一点。

谢谢你

0 投票
4 回答
4617 浏览

python - 为什么 QToolTips 不会出现在 QMenu 中的 QActions 上

我正在做一个用 GUI 编写的应用程序PySide。我在一个QMenu上设置了一个,通过QPushButton添加了几个。为了进一步向用户解释这些操作,我用.QActionsQMenu.addActionQToolTipQAction.setToolTip

当我现在运行 GUI 时,我QToolTip不会显示。下面发布的示例重现了相同的问题,有什么想法吗?

提前致谢

0 投票
1 回答
1442 浏览

qt5 - 如何使用 QSignalMapper 获取 QAction 项目列表

当我单击子菜单项列表时,我正在开发一个代码片段来执行类似的、不同的操作。请检查附加的快照。QSignalMapper 是将多个信号连接到同一个插槽的最佳解决方案。

每当单击“区域阈值”子菜单中的值时,我都想执行类似的操作

但是我无法准确定位哪个信号要为哪个插槽调用。我已经阅读了很多关于 QSignalMapper 的理论,

甚至实现了他们的代码。与提到的示例程序不同,我的 QAction 对象显然不能像我们在数组中定义元素那样定义,因为它们的名称是由设计窗口自动生成的。 qAction 对象的名称不能放在 for 循环中,因为它们本身不是连续的

我无法理解,我应该在此处放置什么作为 SIGNAL,以及何时应该使用 setMapping 函数?如果我使用 setMapping 函数,我应该实现哪些参数?我只是没有彻底了解这个概念,不知道该做什么,该问谁,并在我的代码中犯了错误。你能告诉我我做错了什么吗?我检查了这个以供参考,因为他有类似的问题:

***********************************更新部分(截至 2014 年 3 月 3 日)**** ****************************************************** ******************

我的问题与以下问题非常相似: 如何将 QActions 列表添加到 QMenu 并使用单个插槽处理它们?

我也尝试使用 setData in helpAction(QAction *pAction),但我仍然错了,因为当我单击区域阈值子菜单中的操作项时,我得到的唯一值是

所以我更新的问题是,如何使用setData(const QVariant &userData)为我的操作项分配索引。请指教。

主窗口.h

主窗口.cpp