如何在pyg中创建border-any小部件

2024-09-29 09:28:34 发布

您现在位置:Python中文网/ 问答频道 /正文

我尝试使用python(PyGTK)创建一个UI。我有一个vbox。我已将eventbox作为其父级。我想要vbox或eventbox的可见边框。我要红色的边框。我试着修改fg,但它改变了整个。所以请告诉我怎么做。提前谢谢


Tags: uipygtk边框红色fgvboxeventbox
1条回答
网友
1楼 · 发布于 2024-09-29 09:28:34

如果您使用的是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)

相关问题 更多 >