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()
,它都会坚持使文本居中。
我非常希望有一个标签,其文本从其单元格的左边框开始,但其宽度也要填充,以使字符串长度的变化无关紧要。
感谢您的帮助。 =)