0

我有一个Gtk.Label包含在Gtk.Grid如下内容中的内容:

    self.__grid = Gtk.Grid()
    self.__grid.set_row_spacing(2)
    self.__grid.set_column_spacing(5)
    self.__grid.props.margin = 5
#...
    self.clock_label = Gtk.Label("N/A")
    self.clock_label.set_halign(Gtk.Align.START)
    self.__grid.attach(self.clock_label, current_col, current_row, 1, 1)

哪个按预期工作。不过,我遇到了一个不需要的行为,这意味着随着秒数的流逝,在其他地方设置的标签文本会偏移列(因为时钟标签是该列中最宽的东西),导致所有元素都在它的右边随着弦本身变宽(秒数像 8)或更窄(秒数像 1)来回移动。

为了解决这个问题,我在这个标签的设置代码中添加了一行

    self.clock_label.set_width_chars(8)

瞧,它奏效了。但是,当我这样做时,它坚持将文本居中,而不管set_halign().

我非常希望有一个标签,其文本从其单元格的左边框开始,但其宽度也被填充,因此字符串长度的变化无关紧要。

任何帮助表示赞赏。=)

4

1 回答 1

0

SO 在“相关”专栏中给我答案后,我在这里找到了答案。事实证明xalign(参数为 0.0)就像我想要的那样将标签靠在左边界上。万岁。

不过,我看不到任何halign实际贬值的地方。这里这里。那不是吗?这有点令人困惑。

于 2019-04-02T20:05:56.980 回答