我想做一个类似面板的应用程序,在外观上很像 gnome-panel。我想为此使用 GTK(尽管我已经研究过 Qt),最好使用 Python。
如何以应用颜色/渐变/位图/svg 的方式装饰窗口?
我想做一个类似面板的应用程序,在外观上很像 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 设置颜色渐变似乎是特定于引擎的。
编辑:这里是带有拉伸背景图像的简约 gtkrc 示例:
pixmap_path "/home/foo/images"
style "bar" {
engine "pixmap" {
image {
function = FLAT_BOX
file = "test.png"
stretch = TRUE
}
}
} widget "*foo" style "bar"