我有一个定义的网格布局中的QCheckBox:

self.isSubfactorCheckbox = QtGui.QCheckBox('Is &subfactor', self)

默认情况下,复选框位于“ IS子因子”文本的左侧。我希望将其移至文本的右边。

我尝试使用子控制位置玩耍,但无济于事。

self.isSubfactorCheckbox.setStyleSheet('QCheckBox::indicator{subcontrol-origin: content; subcontrol-position: top right;}')

这将复选框移至右侧(它仍在文本的左侧),但将文本向右推出,然后将其推出窗口的边缘。

这无助于向右移动文本:

self.isSubfactorCheckbox.setStyleSheet('QCheckBox::text{subcontrol-origin: content; subcontrol-position: top left; }')

一种解决方案是创建Qlabel并在其右侧添加复选框,但我没有找到Qlabel中的字母下划线的方法,以便用户知道哪个是快捷键。我已经尝试将字母和或包装在 <u> </u> 标签。

我仍然宁愿只使用Qlabel,但是如何将复选框切换到文本的右侧,而不会被推出。

有帮助吗?

解决方案

使用好友机制。将QCHECKBOX设置为Qlabel的好友。在该前缀&将在标签中强调快捷方式。请参阅文档 Qlabel的setbuddy.

其他提示

更容易...

使用qwidget.setlayoutdirection方法并将其设置为右托特特与左图

您可以在设计师或通过代码中执行此操作,它是属性或所有小部件。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top