问题标签 [qwidgetaction]

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

python - 隐藏 QWidgetAction 只是让它变灰

我正在尝试使用一些 QWidgetAction 构建菜单。其中一些可以隐藏(使用 setVisible()),具体取决于程序的当前状态。当我隐藏 QWidgetAction 时,它并没有真正隐藏,但似乎只是被禁用,并且其他动作被绘制在它上面。

这是一个显示问题的小测试脚本:

请参阅下面的结果以及第一个 QWidgetAction 如何在另一个操作下保持可见。我做错了什么还是我只是遇到了一个 Qt 错误?有关信息,我在 Linux 上使用 Qt-5.9.4。

动作可见 隐藏第一个动作

0 投票
1 回答
606 浏览

python - QWidgetAction 不显示菜单

我创建了一个在 QMenu 中使用的自定义小部件。如下图所示,用户单击块矩形会显示哪个菜单。但是,当我更改菜单分配给控件的方式时,由于某种原因它停止工作。

在此处输入图像描述

但是由于某种原因,当我使用这段代码时菜单没有显示:

而不是这个:

下面是完整的工作示例。只需取消注释代码即可创建我要解决的问题。当单击 UI 主要部分的黑色大矩形时,您会注意到菜单不再出现。

0 投票
1 回答
359 浏览

c++ - QMenu 中的 TriState QAction

我需要一个 checkable QAction,除了检查模式和取消选中部分检查的选项外。这基本上已经是 QCheckBox 提供的,但不幸的是,QAction 没有提供。

作为第一次尝试,我通过实现一个自定义的QWidgetAction.

三态文件

有了这个简单的TestRunner:

主文件

现在,弹出上下文菜单,我可以愉快地检查、取消选中和部分检查我的 TriState Action。但是,与普通的 QAction 不同,TriState 在交互时不会关闭菜单。这怎么能行?

另一个问题是我的 TriState Action 的不同布局(视觉表示)。与普通的 QAction 相比,如何使它更相似?(实际上,这似乎是一个非常困难的问题。)

0 投票
1 回答
616 浏览

python - 如果 QMenu 中有菜单,则 QWidgetAction 是不可检查的

我正在尝试将三态复选框实现到 QMenu 中。我的菜单层次结构将类似于:

其中第一层(menuA,menuB)是三态复选框,而其子项是普通复选框,使用 QAction 实现。

因此,使用QWidgetActionand QCheckBox,似乎我可以让三态在第一层工作。

但是,一旦我尝试使用setMenu包含子项目的第一层项目,即使它能够相应地显示子项目,这些选项也不再可检查。

最初我只使用 QAction 小部件,但是当我迭代子项目时,第一层项目总是显示为一个完整的检查,如果可能的话我想纠正它,因此我试图利用三态.

例如。如果a101选中,menuA将设置为部分状态。如果两者a101a102选中,menuA则将设置为(完整)检查状态。

0 投票
0 回答
84 浏览

qt - QLabel 在 QWidgetAction 中显示为灰色

我正在使用 aQWidgetAction创建一个QMenu具有 aQLabel和 a的“项目” QLineEdit。这些被添加到QHBoxLayout被添加到QWidget被设置为默认值的QWidgetAction.

最终结果是一切正常,除了QLabel显示为灰色的文本,就像禁用一样。调用setEnabled(true)上述所有内容均无效。唯一似乎有帮助的是强制QLabel使用样式表或富文本的文本颜色,但不可能匹配其他常规菜单项的颜色。我错过了什么?

0 投票
0 回答
278 浏览

python - 如何使 QWidgetAction 中包裹的 QLabel 匹配标准菜单项的位置和字体大小?

我目前正在 python/pyside2 中开发一个托盘应用程序。我正在尝试创建自定义 QMenu 项目(包含 QLabels 和 QProgressBars)。我设法获得了基本功能,但是 QLabels 的对齐方式和字体大小与常规的 QAction 菜单项不同。我解决了 QLayout 边距的对齐问题,但这些是硬编码的大小,我相信有办法以某种方式获得正确的值。

这是演示代码:

这是它的外观:

在此处输入图像描述

有没有办法:

  • 获取正确的边距值以匹配标准菜单项
  • 获取字体以匹配标准菜单项
0 投票
0 回答
34 浏览

c++ - Qt 使小部件的字体大小与分辨率无关

我正在尝试在现有菜单中实现一种新型菜单项,其中已经包含其他项目。我为此目的使用 QWidgetAction(我继承了该类并创建了一个具有 2 个按钮和一个标签的操作)。

问题是这个小部件操作中小部件的字体大小比常规菜单项的字体大小要小得多。我尝试使用样式表(使用 px 单位)设置它们,但在小分辨率屏幕上,QWidgetAction 变得比普通菜单项大。我想相反的效果会发生在更高分辨率的屏幕上。

我的问题是如何使我的 QWidgetAction 中的小部件的字体大小与其他菜单项之一相同。