【问题标题】:PyGTK checkbutton's label on the left sidePyGTK checkbutton 左侧的标签
【发布时间】:2020-10-27 18:59:41
【问题描述】:

是否可以将 PyGTK 的检查按钮的标签设置在左侧而不是默认右侧,如下例所示?

Apple:  [x]
Orange: [ ]
Pear:   [x]

【问题讨论】:

    标签: python checkbox gtk pygtk


    【解决方案1】:

    没有。您可以通过创建一个继承自 gtk.CheckButton 的新类来做到这一点,但是复选框不会像您的示例中那样排列。

    我建议您使用空白标签制作复选按钮,然后添加单独的gtk.Labels 来标记它们。将它们排列成gtk.Tablegtk.Grid

    【讨论】:

    • 谢谢。似乎唯一的出路是分配一个放置在复选框左侧的标签是唯一的出路。我正在使用 VBox 和 HBox 来定位它们,它们的工作非常好。
    • @thotheolh 我很好奇:你是如何使用Box 的两个不同方向使它们对齐的?我很难想象它是如何工作的,至少没有SizeGroup 来强制对齐。无论如何,Grid 是在两个维度上定位事物的正确方法,这似乎正是这里所需要的。
    【解决方案2】:

    我遇到了相反的问题,我的标签默认设置在左侧(可能是因为我的默认语言是从右到左)

    【讨论】:

    • 您在系统上启用了什么语言和字符集?
    • 导出语言 = he_IL(希伯来语)
    • 这可能与语言和字符集有关。
    • 是的,根据 Gsus 的后续回答,这是因为 CheckButton 的内部容器在排列其子项时遵循文本方向。这不是一个真正的答案,尽管我猜它在 Gsus 发布的一个可能的答案上 hinting 恢复了半分。
    【解决方案3】:

    在我的情况下,我遇到了同样的问题,解决方案是将小部件文本方向设置为从右到左。

    它在 gtk# 中工作。

    【讨论】:

    • 这种说法是有道理的,但同样它也很老套,我想知道它是否会带来任何意外/不需要的副作用。
    【解决方案4】:

    在现代 GTK(3.20 或更高版本,可能也适用于以前的版本)中,这可以通过使用负边距直​​接在 CSS 中轻松完成,例如:

    checkbutton {
        /* Give enough space on the left to accomodate the label */
        margin-left: 200px;
    }
    checkbutton label {
        /* 50 extra pixels for spacing and for the indicator width */
        margin-left: -250px;
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2019-10-21
      • 2017-11-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多