如何在pygtk中创建任何小部件的边框

时间:2013-09-18 05:23:08

标签: python pygtk

我正在尝试使用python(PyGTK)创建一个UI。我有一个vbox。我把eventbox作为其父级。我想要一个vbox或eventbox的可见边框。我希望边框为红色。我试过modify_fg,但它改变了整体。请好好告诉我该怎么做。提前致谢

1 个答案:

答案 0 :(得分:0)

如果您正在使用Gtk3(此时您应该使用它),您可以使用css来主题化您的小部件,例如:

from gi.repository import Gtk, Gdk

class ColorSample(Gtk.Application):
    def __init__(self):
        Gtk.Application.__init__(self, application_id="org.app.ColorSample")

        style_provider = Gtk.CssProvider()
        css = '''
        #MainWindow { background-color: #F00; }
        '''
        style_provider.load_from_data(css)

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

    def do_activate(self):
        main_window = Gtk.Window(Gtk.WindowType.TOPLEVEL)
        main_window.set_name('MainWindow')
        main_window.props.border_width = 4

        button = Gtk.Button("Doing Nothing")
        main_window.add(button)

        self.add_window(main_window)
        main_window.set_position(Gtk.WindowPosition.CENTER)
        main_window.show_all()

if __name__ == "__main__":
    colorsample = ColorSample()
    colorsample.run(None)