问题标签 [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.
c++ - QMenu 中的 TriState QAction
我需要一个 checkable QAction
,除了检查模式和取消选中部分检查的选项外。这基本上已经是 QCheckBox 提供的,但不幸的是,QAction 没有提供。
作为第一次尝试,我通过实现一个自定义的QWidgetAction
.
三态文件
有了这个简单的TestRunner:
主文件
现在,弹出上下文菜单,我可以愉快地检查、取消选中和部分检查我的 TriState Action。但是,与普通的 QAction 不同,TriState 在交互时不会关闭菜单。这怎么能行?
另一个问题是我的 TriState Action 的不同布局(视觉表示)。与普通的 QAction 相比,如何使它更相似?(实际上,这似乎是一个非常困难的问题。)
python - 如果 QMenu 中有菜单,则 QWidgetAction 是不可检查的
我正在尝试将三态复选框实现到 QMenu 中。我的菜单层次结构将类似于:
其中第一层(menuA,menuB)是三态复选框,而其子项是普通复选框,使用 QAction 实现。
因此,使用QWidgetAction
and QCheckBox
,似乎我可以让三态在第一层工作。
但是,一旦我尝试使用setMenu
包含子项目的第一层项目,即使它能够相应地显示子项目,这些选项也不再可检查。
最初我只使用 QAction 小部件,但是当我迭代子项目时,第一层项目总是显示为一个完整的检查,如果可能的话我想纠正它,因此我试图利用三态.
例如。如果a101
选中,menuA
将设置为部分状态。如果两者a101
都a102
选中,menuA
则将设置为(完整)检查状态。
qt - QLabel 在 QWidgetAction 中显示为灰色
我正在使用 aQWidgetAction
创建一个QMenu
具有 aQLabel
和 a的“项目” QLineEdit
。这些被添加到QHBoxLayout
被添加到QWidget
被设置为默认值的QWidgetAction
.
最终结果是一切正常,除了QLabel
显示为灰色的文本,就像禁用一样。调用setEnabled(true)
上述所有内容均无效。唯一似乎有帮助的是强制QLabel
使用样式表或富文本的文本颜色,但不可能匹配其他常规菜单项的颜色。我错过了什么?
c++ - Qt 使小部件的字体大小与分辨率无关
我正在尝试在现有菜单中实现一种新型菜单项,其中已经包含其他项目。我为此目的使用 QWidgetAction(我继承了该类并创建了一个具有 2 个按钮和一个标签的操作)。
问题是这个小部件操作中小部件的字体大小比常规菜单项的字体大小要小得多。我尝试使用样式表(使用 px 单位)设置它们,但在小分辨率屏幕上,QWidgetAction 变得比普通菜单项大。我想相反的效果会发生在更高分辨率的屏幕上。
我的问题是如何使我的 QWidgetAction 中的小部件的字体大小与其他菜单项之一相同。