问题标签 [qaction]

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 回答
188 浏览

macos - Qt 5.4 OS X 如何在 QMenu 和 QToolBar 中使用 QAction,但仅在 QToolbar 中显示图标

在 OS X (Yosemite) 上使用 Qt 5.4,我有QAction一个图标。我希望图标显示在QToolbar我添加操作的地方。这工作正常。但是,我不希望图标显示在我添加操作的 QMenu 中。

我怎么做?

0 投票
2 回答
973 浏览

qt - 修复 QToolButton 图标

我里面QToolButton有几个QAction
问题是我已经为这个工具栏按钮设置了一个图标,我不希望它改变,当我从弹出菜单中 选择一些QAction(它将设置项目从 selected 更改为文本)时。有什么方法可以得到我需要的东西吗? 头文件QAction




.cpp 文件


这就是我使用它的方式:

0 投票
1 回答
412 浏览

qt - QToolBar中带有更改字段的下拉按钮

QAction我有点坚持基于放置在QToolBar
我有一个包含以下数据的 XML 文件 中创建下拉按钮:

注意:我不知道会有多少字段组,也不知道会有多少按钮。

因此,首先,我解析以下 xml 文件并提取所需的数据。

对于每个button我创建自己的QAction并将其添加到现有工具栏。
稍后,我为每个按钮创建并为每个组和字段QMenu填充s。QAction我有QActionfor First fields, field1, field2, etc...
然后,对于每个button我使用的setMenu方法并在那里添加创建的菜单。
如果我启动我的应用程序,我可以在带有下拉菜单的工具栏中看到我的按钮,它们看起来就像我预期的那样。

这里的问题是我需要为这个按钮添加一些功能。

我想允许用户检查它们(我setCheckable全部使用QActions)并取消选中。当用户使用组名检查操作时,与该组相关的所有字段都会被选中,依此类推。

因为我不知道在启动时我会有多少按钮和字段,所以使用信号和插槽变得很困难。
它迫使我用来QMap存储 created 的所有地址QAction,当来自该字段的信号被发出时,然后使用 find 方法查找发出它的动作,并且只有它们执行所需的动作。

问题是:有没有更好的方法来实现我的目标,或者我应该继续使用这种方法?

0 投票
0 回答
313 浏览

c++ - 从 QMenu 中删除 QAction 后未触发 QAction

我正在编写一个带有典型主窗口 GUI 界面的程序,其中QMainWindowQt QMdiWindow5.4 类类似于下图之一(来自官方文档)。

Qt MDI

每次活动子窗口更改时,updateWindowMenu()都会调用该方法,并通过指向每个子窗口之一来清除并重新填充Window菜单QActions,也就是说,当您单击一个动作时,与该动作关联的子窗口将被带到前面,并将成为活动子窗口。关联已完成,QSignalMapper因为updateWindowMenu()需要当前活动的子窗口(如果有)。

当我单击一个动作时会出现问题,它的信号没有被触发,因此相关的子窗口没有被带到前面。经过调查,我意识到阻碍动作触发的是对menuWindow->removeAction(mySubwindowActions->at(n))(menuWindow来自.iu使用 Qt Designer 创建的文件的调用)。就是这样,如果我注释掉

Window每次调用时都会将重复的操作添加到菜单中updateWindowMenu(),但它们会按预期工作,并且会将关联的子窗口置于前面。

为什么会出现这种异常行为?如何在不妨碍新添加操作的正常工作的情况下删除操作?

WindowMain.h

WindowMain.cpp

0 投票
2 回答
73 浏览

c++ - 以对象方式使用 QActions 改进现有代码

如图所示,现有代码在QToolbar中实现了一些QAction。目的是使选中的 Qaction 的图标闪烁。

因此,根据Wizard_Step(类成员),每次调用此计时器处理程序时 ,专用QAction的图标会交替更改。

虽然这是 100% 的工作,但这段代码真的很棒,我想通过以对象方式分解这段代码来改进。我正在考虑使用 QAction 指针,例如数组。

QActions 表单工具栏

0 投票
0 回答
166 浏览

function - pyqt QAction 函数调用的奇怪行为

我制作了一个简单的窗口并添加了菜单和工具栏。我得到了与动作相关的函数的奇怪行为。这是代码:

当您按下菜单或工具栏图标时 - 不会调用相关函数。但是有必要在类之外创建一个全局函数并在没有自我的情况下进行调用,以便一切立即开始工作。

我更正了:

并将函数拖到类外:

并立即启动,被调用并运行...

为什么在函数成为类成员之前它不起作用?

0 投票
1 回答
6532 浏览

c++ - Qt - 创建图标按钮

我正在尝试在 Google 地图上创建类似于放大、缩小的按钮;我想要只有图标那么大的按钮:

http://codegeekz.com/wp-content/uploads/google-maps-jquery.jpg

(我很抱歉没有发布图片,显然没有足够的声誉)。

我正在尝试使用 QAction,但由于某种原因,按钮没有出现。我已使用 QAction 在另一个项目中创建按钮,但复制所有相关代码并未成功(实例根本没有出现)。这些是必需品:

主窗口.h

主窗口.cpp

我有:

  • 在空白小部件上尝试 addAction() ,并将其添加到布局中。
  • 在 .h 文件中声明 QAction 对象(使用 QPainter 的常见问题)
  • 尝试使用 QPushButton (非常丑陋但有效。)

任何关于错误的想法,或对其他类似按钮的对象的建议都表示赞赏。也可以随意提问。最终,我希望创建的按钮是可以使用 QHBoxLayout 操作的小部件。

0 投票
1 回答
128 浏览

qt - 如何从 Qt 的 MainMenu 中选择文件?

我将文件夹中的所有文本文件加载到 Qt 应用程序的 MainMenu 中。

在那里,我为我的文件夹“myfiles”中的所有文件创建 QActions,并将这些操作中的每一个连接到 SLOT onLoadfile():

因此,每次我在 MainMenu 中选择其中一个文件时,都会触发此 SLOt,但我的调试消息显示:

加载文件 ""

例如,当我选择 /myfiles/file1.txt

onLoadFile "/myfiles/file1.txt"

我错过了什么?提前感谢

0 投票
1 回答
6717 浏览

qt - Qt Connect 触发 QMenu 的 SIGNAL

我有一个“最近的文件”文件菜单作为 QMenu,例如:文件 - >最近的文件。在那里,我动态地创建了几个 QAction,其中列出了最近打开的文件。这样可行。

但是当我单击最近的文件 QMenu 时,我想触发一个单独的 SLOT。

并且应该打印出 TRIGGER 调试消息

但什么也没发生?

0 投票
1 回答
1185 浏览

qt - QAction 父菜单

如何获取给定 QAction 的父菜单?我在子菜单中添加了一个 QActions。

有没有办法知道每个动作的父菜单名称?

我可以通过这种方式获取父菜单:

是否存在更好、更原生的方式?