Невозможно установить выравнивание метки, когда текст метки использует разметку Панго - PullRequest
1 голос
/ 28 марта 2012

Я хочу иметь выравнивание по левому краю и выделение жирным шрифтом, но с использованием следующего кода (который не возвращает ошибок) обоснование не установлено ... Кто-нибудь знает? (python2.7, gtk2.24)

label=gtk.Label("<b>"+text+"</b>")
label.set_use_markup(True)
label.set_justify(gtk.JUSTIFY_LEFT)

Заранее спасибо!

Ответы [ 2 ]

4 голосов
/ 28 марта 2012

В документации PyGTK gtk.Label.set_justify() написано :

Если вы хотите установить выравнивание метки в целом, используйте вместо этого метод gtk.Misc.set_alignment().set_justify() не влияет на метки, содержащие только одну строку.

После ссылки на документация gtk.Misc.set_alignment() показывает, как правильно делать то, что вы просите (если я правильно понял ваш вопрос):

import gtk

w = gtk.Window()
w.connect('destroy', gtk.main_quit)
text = 'whatever'
label=gtk.Label("<b>"+text+"</b>")
label.set_use_markup(True)
label.set_alignment(0, 0.5)
w.add(label)

w.show_all()

gtk.main()
0 голосов
/ 28 марта 2012

Я не являюсь разработчиком GTK, но я провел быстрый поиск.Мне интересно, должно ли gtk.JUSTIFY_LEFT быть GTK_JUSTIFY_LEFT.

Ссылка: http://developer.gnome.org/gtk/2.24/gtk-Standard-Enumerations.html#GtkJustification

typedef enum {
  GTK_JUSTIFY_LEFT,
  GTK_JUSTIFY_RIGHT,
  GTK_JUSTIFY_CENTER,
  GTK_JUSTIFY_FILL
} GtkJustification;
...