"Gtk_widget_override_font" устарел

Начинаю использовать Genie с Pango + Gtk.

Я хочу изменить стиль текста метки с помощью Pango, но и modify_font, и override_font устарели.

Какая альтернатива этому коду с использованием Pango?

uses Gtk
uses Pango

init 
    Gtk.init (ref args)
    var TestGtk = new Ventana()
    TestGtk.show_all()  
    Gtk.main()

class Ventana : Window      
    init        
        title = "Test Genie + Pango"
        default_width = 500     
        default_height = 200        
        window_position = WindowPosition.CENTER 
        destroy.connect(Gtk.main_quit)

        var etiqueta = new Label("Hola Genie + Pango")      

        var fontdesc = new Pango.FontDescription()
        fontdesc.set_family("Purisa")
        fontdesc.set_size((int)(24 * Pango.SCALE))

        //etiqueta.modify_font(fontdesc)    // funciona pero OBSOLETO desde v 3.0
        etiqueta.override_font(fontdesc)    // funciona pero OBSOLETO desde v 3.16      

        add (etiqueta)

Спасибо


person Webierta    schedule 24.01.2017    source источник
comment
Вы можете использовать разметку. Думаю правильнее.   -  person txasatonga    schedule 24.01.2017


Ответы (1)


Для GtkLabel вы используете gtk_label_set_attributes() и используя список атрибутов вместо дескриптора шрифта. Вы можете превратить существующий дескриптор шрифта в список атрибутов или использовать единственный атрибут дескриптора шрифта с существующим дескриптором шрифта.

Что касается других виджетов, некоторые виджеты позволяют напрямую указать список атрибутов Pango или дескриптор шрифта; проверьте их документацию. Для всех остальных используйте CSS.

person andlabs    schedule 24.01.2017