Skip to main content
 首页 » 编程设计

python之如何装饰 GTK 窗口,例如。侏儒面板

2025年05月04日7birdshome

我想做一个类似面板的应用程序,外观很像 gnome-panel。我想为此使用 GTK(尽管我研究过 Qt),最好使用 Python。

如何装饰窗口,使其应用​​颜色/渐变/位图/svg?

请您参考如下方法:

一种方法是使用样式(下面的示例使用内联样式字符串):

#!/usr/bin/env python 
 
import gtk 
 
pixmap_rc = """ 
pixmap_path "/home/foo/images" 
style "bar" { 
    bg_pixmap[NORMAL] = "logo.svg" 
} widget "*foo" style "bar" 
""" 
 
color_rc= """ 
style "bar" { 
    bg[NORMAL] = "Hot Pink" 
} widget "*foo" style "bar" 
""" 
 
def main (): 
    window = gtk.Window() 
    window.set_decorated(False) 
    window.connect("destroy", gtk.main_quit) 
 
    window.set_name("foo") 
    gtk.rc_parse_string(color_rc) 
 
    window.show_all() 
    gtk.main() 
 
if __name__ == "__main__": 
    main () 

不过,通过 gtkrc 设置颜色渐变似乎是特定于引擎的。

编辑:这里是带有拉伸(stretch)背景图像的简约 gtkrc 示例:

pixmap_path "/home/foo/images" 
style "bar" { 
    engine "pixmap" { 
        image { 
            function = FLAT_BOX 
            file     = "test.png" 
            stretch  = TRUE 
        } 
    } 
} widget "*foo" style "bar"