pygtk全球标签样式

时间:2012-12-09 10:34:10

标签: python styles gtk

我正在使用python和gtk。

是否可以创建全局样式?
我想让窗口中所有标签中的文字变成红色和粗体 请给出一个代码示例。

编辑1: 它也必须在Windows上运行。

编辑2: 我的实际代码:

    #!/usr/bin/python

    import gtk
    import db
    import datetime
    import gobject
    import pango

    class ReportNew(gobject.GObject):

            __gsignals__ = {"update-db": (gobject.SIGNAL_RUN_FIRST, gobject.TYPE_NONE,())}

            def __init__(self):
                    # Basics
                    self.__gobject_init__()
                    self.window = gtk.Window(gtk.WINDOW_TOPLEVEL)
                    self.window.connect("destroy",self.destroy)
                    self.window.set_default_size(800,400)
                    self.window.set_title("WINDOW")

                    screen = gtk.gdk.Screen.get_default()
                    css_provider = gtk.CssProvider()
                    css_provider.load_from_path('style.css')
                    context = gtk.StyleContext()
                    context.add_provider_for_screen( screen,
                                            css_provider,
                                            gtk.STYLE_PROVIDER_PRIORITY_USER
                                            )

1 个答案:

答案 0 :(得分:1)

您可以使用选择器指定样式表影响哪些小部件。

from gi.repository import Gdk as gdk

screen = gdk.Screen.get_default()

css_provider = gtk.CssProvider()
css_provider.load_from_path('/path/to/file.css')

context = gtk.StyleContext()
context.add_provider_for_screen( screen,
                                 css_provider,
                                 gtk.STYLE_PROVIDER_PRIORITY_USER
                                 )

创建/path/to/file.css

/* Set background on GtkLabel
* and other types inheriting from
* it
*/
GtkLabel {
  background-color: red;
  font-weight:bold;
}