1

我开始将 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)

谢谢

4

1 回答 1

2

对于 GtkLabel,您使用gtk_label_set_attributes()和使用属性列表而不是字体描述符。您可以将现有字体描述符转换为属性列表,也可以将单个字体描述符属性与现有字体描述符一起使用。

至于其他小部件,有些小部件允许您直接指定 Pango 属性列表或字体描述符;检查他们的文档。对于所有其他人,请使用 CSS。

于 2017-01-24T18:18:08.520 回答