问题标签 [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 - QWidget::grabKeyboard() 和 QMenu 抓取的区别
我注意到,当 QMenu 打开时,我的键绑定停止工作( xbindkeys ),屏幕保护程序也无法启动并报告“无法抓取键盘”错误。
其他使用 QWidget::grabKeyboard() 的 QWidget 不会发生这种情况。
QMenu 是否抓取键盘,如果是,它是 QWidget::grabKeyboard() 还是较低级别的 X11 东西?如果它是一个较低级别的功能,为什么不能只使用普通的 Qt 键盘抓取。
qt - 菜单应该如何弹出 - Qt
我正在读一本关于 Qt 的书,有一个关于如何弹出历史菜单的示例,文本说“当调用此方法时,它会弹出一个菜单,其项目对应于用户访问过的网页”,
但我真的不明白我们如何使“菜单”可见:这是 SLOT 方法:
所以我看不到如何从这个简单的功能中弹出菜单?(“当这个方法被调用时,它会弹出一个菜单”)
谢谢
c++ - Is there a way to add a QWidget to a QMenu in QtCreator
I'm creating a text editor and I'd like to put the QComboBox
in the QMenu
. I didn't find any method inside the QMenu
that handled such a thing. The closest is QMenu::addAction()
. I was wondering of getting around this hurdle.
Thanks!
qt4.7 - Qt Stylesheets:如何将样式应用于菜单?如何去除 QTextEdit 周围的蓝色调?
我正在尝试将菜单栏设置为渐变黑色,并且效果很好,但菜单标题除外。
这是我正在使用的样式表:
- 我如何也将样式应用于多个标题?
- 周围有
QTextEdit
一种我无法摆脱的蓝色调。有没有办法将其设置为黑色?
谢谢 :)
qt - 对齐 QMenuBar 项目(在左侧添加一些,在右侧添加一些)
目前我有带有三个 QActions 的 QMenuBar,它看起来像这样:
但我想得到这个(让一些QActions右对齐):
有没有办法做到这一点?
qt - QAction 的所有权
将 QAction* 添加到负责删除 QAction* 对象的 QMenu 时?我在 QMenu 或 QAction 的文档中找不到它。
Qt Menus 示例不会删除它创建的任何操作,因此我假设 QMenu 拥有 QAction 。那是对的吗?
python - PyQt QMenu 下拉方向
我正在寻找一种方法来控制从 QMenu 中打开子菜单的方向。默认行为是向右打开,除非没有足够的屏幕空间,然后向左打开。
如果您有一个位于屏幕最右侧的菜单(例如:chrome 的设置扳手),如果您有多个嵌套菜单,默认行为会导致它们在从左侧打开和从右侧打开之间来回切换,这是一种令人抓狂的用户体验。
我想要的是一种告诉 QMenu 始终向左打开子菜单的方法;在 QMenu 中绝对没有直接的控制,但 Qt 通常有很多神奇的“应用程序”或“全局”设置,用于特定于平台的行为。我想知道有没有人知道!
我以前在 C# 中使用 ToolStripMenu 做过这个,所以我知道一些工具包有这个能力。
c++ - 如何将 QActions 列表添加到 QMenu 并使用单个插槽处理它们?
首先,我有一个QWidget
s 列表,直到运行时我才知道它的长度。然后我创建一个QListWidget
显示它们的位置,当有人点击它们时,我使用信号currentItemChanged(QListWidgetItem*, QListWidgetItem*)
来捕捉它并获取点击项目的索引。
现在我想在QMenu
. 我会在构建它及其操作时知道该列表QMenu
,但我将无法对其进行硬编码。
如何创建动作,捕捉它们的信号并将它们连接到同一个插槽,根据菜单列表中动作的位置(索引)执行不同的操作?必须有某种方法来解决这个问题,因为其他应用程序使用它。我试图查看映射,但我无法理解如何使用它。
我试图抓住sender
插槽,但无法从中获得任何有用的信息。
qt - 将 QMenuBar 放在 QT 中的 QMainWindow 底部
有没有办法将 QMenuBar 放在屏幕底部(我的意思是,在 QMainWindow 底部)?
我正在做我的论文项目,我的主管让我在屏幕底部放置一个 QMenuBar。这可能吗?,我一直在尝试调整菜单栏的几何形状。在 Qt Designer 中,我可以移动栏的位置,但是当我运行我的项目时,菜单栏总是向上的。
提前致谢。
qt - 如何在 Qt 中遍历菜单的操作?
我正在一个项目中工作,我需要自动打开(显示或弹出)QMenuBar 中的项目。
假设我有下一个菜单栏:
要设置一个动作(显示与该动作关联的菜单),我使用:
据我所知,我可以使用以下方法之一来获取指向 QMenuBar 元素的指针列表:
或者
当我使用QMenuBar::findChildren<QAction*>()
或MenuBar::actions()
获得菜单栏中的菜单列表时,我的意思是,我"File, Edit, Help"
从我的 QMenuBar 获得,在这种情况下 QList 的大小为 3。
当我使用时,QMenuBar::findChildren<QObject*>()
我得到了一个大小为 6 的 QObject 列表,这是菜单栏中正确的项目数。但是,我尝试过强制转换为 QAction*
在所有这些情况下a
都不是 NULL,但是当我尝试获取操作名称QAction::title()
时,它总是会导致我出现分段错误。
我一直在搜索,我在这里发现,在获取菜单栏操作列表后,可以询问QAction::menu()
(如果项目是菜单,则返回有效的 QMenu 指针)知道项目是否是 QMenu,如果是,可以重复获取该菜单的操作列表,并继续迭代。但这对我不起作用,我希望
每个元素“文件,编辑帮助”QAction::menu()
返回一个有效的菜单指针,所以我可以获得每个菜单的操作列表,但这对我来说根本不起作用。