Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/319.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/facebook/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何装饰GTK窗口,例如gnome面板?_Python_Gtk_Panel_Window Decoration - Fatal编程技术网

Python 如何装饰GTK窗口,例如gnome面板?

Python 如何装饰GTK窗口,例如gnome面板?,python,gtk,panel,window-decoration,Python,Gtk,Panel,Window Decoration,我想做一个类似于面板的应用程序,在外观上很像gnome面板。我希望使用GTK实现这一点(尽管我已经研究了Qt),最好使用Python 如何将颜色/渐变色/位图/svg应用于窗口来装饰窗口?一种方法是使用样式(下面的示例使用内联样式字符串): 不过,通过gtkrc设置颜色渐变似乎是特定于引擎的 编辑:这里是带有拉伸背景图像的极简gtkrc示例: pixmap_path "/home/foo/images" style "bar" { engine "pixmap" { im

我想做一个类似于面板的应用程序,在外观上很像gnome面板。我希望使用GTK实现这一点(尽管我已经研究了Qt),最好使用Python

如何将颜色/渐变色/位图/svg应用于窗口来装饰窗口?

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

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

编辑:这里是带有拉伸背景图像的极简gtkrc示例:

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

很好,谢谢!:)您对样式的文档或教程有什么建议吗?@Benjamin:首先检查一下这个:@Benjamin:示例中的样式没有什么特别之处,它们是普通的gtkrc样式,遵守所有常规规则,即可以继承、扩展等。我将它们作为内联字符串嵌入,但是您可以将它们保存为外部文件,并使用
gtk.rc_parse(filename)
加载它。是的,你可以拉伸背景图像,但是如果这不能用普通的gtk来完成,你应该利用引擎(例如“pixmap”),看看(尤其是平面盒功能)。还有,嗯,我们已经超出了范围:)@Benjamin:请参见使用pixmap Engine编辑bg图像拉伸。我还添加了一个很好的示例来回答这个问题。
pixmap_path "/home/foo/images"
style "bar" {
    engine "pixmap" {
        image {
            function = FLAT_BOX
            file     = "test.png"
            stretch  = TRUE
        }
    }
} widget "*foo" style "bar"