GTK Label ширина символов и Halign - PullRequest
0 голосов
/ 02 апреля 2019

У меня есть 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().

Мне бы очень хотелось иметь метку, текст которой начинается с левой границы ее ячейки, но ширина которой также дополняется, так что изменения длины строки не имеют значения.

Любая помощь приветствуется. =) * * 1 018

1 Ответ

0 голосов
/ 02 апреля 2019

Я нашел ответ здесь после того, как SO дал его мне в столбце Связанные. Оказывается, что xalign (с параметром 0.0) прижимает метку к левой границе, как я и хотел. Hooray.

Хотя я нигде не вижу, чтобы halign действительно обесценивался. Здесь или здесь . Не так ли? Это сбивает с толку.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...