Python 一个Gtk.标签中的多色文本

Python 一个Gtk.标签中的多色文本,python,css,python-3.x,gtk,gtk3,Python,Css,Python 3.x,Gtk,Gtk3,我正在使用css文件为我的界面设置主题。所以我现在有这个, style_file = Gio.File.new_for_path('interface.css') style_provider = Gtk.CssProvider() style_provider.load_from_file(style_file) Gtk.StyleContext.add_provider_for_screen( Gdk.Screen.get_default()

我正在使用css文件为我的界面设置主题。所以我现在有这个,

    style_file = Gio.File.new_for_path('interface.css')
    style_provider = Gtk.CssProvider()
    style_provider.load_from_file(style_file)

    Gtk.StyleContext.add_provider_for_screen(
        Gdk.Screen.get_default(),
        style_provider,
        Gtk.STYLE_PROVIDER_PRIORITY_APPLICATION
    )

    self.label = Gtk.Label()
    self.label.set_name('foobar_label')
    self.label.set_markup("<span color='blue'>foo </span>"
                          "<span color='green'>{} </span>"
                          "<span color='red'>"
                          "bar</span>".format(baz))
style_file=Gio.file.new_for_路径('interface.css'))
style_provider=Gtk.CssProvider()
样式\u提供程序。从\u文件(样式\u文件)加载\u
Gtk.StyleContext.add_provider_for_屏幕(
Gdk.Screen.get_default(),
样式提供程序,
Gtk.STYLE_提供程序_优先级_应用程序
)
self.label=Gtk.label()
self.label.set_name('foobar_label'))
self.label.set_标记(“foo”
"{} "
""
格式(baz))

我想摆脱set_标记调用,并使用css对其进行样式化。我真的必须创建三个单独的标签来给它上色吗?

可以使用CSS为
Gtk.Label
的子字符串设置样式,尽管它确实需要一些解决方法

下面是一个用Javascript编写的示例:


基本上,它涉及到在小部件的上下文中临时添加另一个样式类,以从CSS中获取额外的样式,然后将其转换为Pango标记。在构建标签时,以及每当更新样式(信号)时,您都可以调用
format\u ui\u string()

可以使用CSS设置
Gtk.label
的子字符串的样式,尽管它确实涉及一些解决方法

下面是一个用Javascript编写的示例:

基本上,它涉及到在小部件的上下文中临时添加另一个样式类,以从CSS中获取额外的样式,然后将其转换为Pango标记。在构建标签时,以及在更新样式时(信号),可以调用
format\u ui\u string()