问题标签 [qmenubar]

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 投票
1 回答
1079 浏览

c++ - Qt 和本机菜单

Qt 是否支持与 Windows 和 Linux 上任意窗口(即 QWidget)的本机菜单栏交互?

看起来 Qt 将菜单视为放置在父窗口上的另一个子小部件。也就是说,要拥有一个菜单栏,我必须在窗口的客户区为它保留一些空间。这在 Mac 上毫无意义,它的菜单位于屏幕顶部。在 Windows 上,这没什么意义 - 由系统实现的菜单位于客户区之外。不确定 Linux 上的本机模型是什么。

0 投票
1 回答
1250 浏览

c++ - QWidgetAction :如何在用户完成输入后使菜单消失

在我的 QMenuBar 中,我有几个菜单。

其中一个菜单中有一个 QWidgetAction。

它显示得很好,但问题是一旦用户完成输入,我希望菜单消失(这是经典 QAction 的正常行为)。

但是,我不确定如何做到这一点。在我的 QWidgetAction 中,有一个用户在完成后按下的按钮;因此,我可以绑定到此按钮的 clicked() 信号。

在插槽中,我尝试 setFocus() 菜单外的一个元素,但菜单仍然没有消失。

当我的用户完成与 QWidgetAction 的交互时,如何告诉菜单自行关闭?

谢谢

0 投票
1 回答
3443 浏览

qt - 如何强制 QMenuBar 具有与 QToolBar 相同的背景颜色

我的菜单栏位于我的工具栏内 :) 而且我不希望它们都具有相同的背景颜色。在某些颜色主题中,菜单栏背景与工具栏(较浅)不同。如何同步它们并同时保持当前的主题颜色。

我可以强制QMenuBar不画背景吗?

我尝试使用样式表,background-color:..但菜单栏中的子菜单失去边框,现在有悬停效果。

感谢帮助 :)

0 投票
1 回答
2861 浏览

c++ - 在 QDialog 中添加了 QMenuBar 它显示但子菜单不打开

我使用在 Designer 中设置的布局在 QDialog 中添加了 QMenuBar,然后手动添加 QMenuBar,当运行应用程序并且 QDialog 运行时,我看到 QMenuBar 只有菜单标题而没有打开子菜单:
这是我的代码:
这是从 Designer 生成的头文件:

这是 QDialog 构造函数,构建 QMenuBAr 的部分:

这里有什么问题为什么我看不到子菜单..关闭和首选项?

0 投票
6 回答
11462 浏览

python - 在我的 python Qt 应用程序中将 Mac OSX 应用程序菜单菜单栏项设置为“Python”以外的项目

我正在使用 python 和 Qt 编写一个 GUI 应用程序。当我在 Mac 上启动我的应用程序时,屏幕顶部 Mac 菜单栏中的第一个菜单项是“Python”。我希望那里的应用程序名称是我的应用程序的名称。我怎样才能在那里获得我的程序名称?

下面的演示程序创建一个带有两个菜单的窗口:“Python”和“Foo”。我不喜欢这样,因为无论我是用 python 还是 COBOL 编写应用程序,对我的用户来说都没有区别。相反,我想要菜单“MyApp”和“Foo”。

如何在 Mac 上更改该应用程序菜单名称?编辑:如果可能的话,我宁愿继续使用系统 python(或用户 PATH 上的任何 python)。

0 投票
1 回答
85 浏览

c++ - QtMenubar 调用槽

这是在 Menu 类中。问题是addAction。这有效,但与插槽没有连接:

当我这样做时:

我得到编译器错误:“错误:','令牌之前的预期主表达式”

我的意思是在 Menu 类中调用该test()函数。我究竟做错了什么?

0 投票
4 回答
10377 浏览

qt4.7 - Qt Stylesheets:如何将样式应用于菜单?如何去除 QTextEdit 周围的蓝色调?

我正在尝试将菜单栏设置为渐变黑色,并且效果很好,但菜单标题除外。

这是我正在使用的样式表:

  1. 我如何也将样式应用于多个标题?
  2. 周围有QTextEdit一种我无法摆脱的蓝色调。有没有办法将其设置为黑色?

谢谢 :)

样式表不适用于菜单项

0 投票
2 回答
3957 浏览

qt - 将 QMenuBar 放在 QT 中的 QMainWindow 底部

有没有办法将 QMenuBar 放在屏幕底部(我的意思是,在 QMainWindow 底部)?

我正在做我的论文项目,我的主管让我在屏幕底部放置一个 QMenuBar。这可能吗?,我一直在尝试调整菜单栏的几何形状。在 Qt Designer 中,我可以移动栏的位置,但是当我运行我的项目时,菜单栏总是向上的。

提前致谢。

0 投票
4 回答
23101 浏览

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()返回一个有效的菜单指针,所以我可以获得每个菜单的操作列表,但这对我来说根本不起作用。

0 投票
2 回答
2602 浏览

c++ - 为什么这个插槽会被调用两次?

我的问题是,当我单击 QMenuBar 中的一个项目时,相应的插槽会被调用两次。我正在使用 Qt 4.8.1。我没有使用 Qt Designer,也没有使用“自动连接”功能。这是我的代码片段:

主要功能:

如果您编译它(使用 MOC 文件),您会看到单击“单击此处”将打印一次“触发”,并打印两次“或此处”。我不明白为什么。

我究竟做错了什么 ?