我编写了一个使用PyGTK的Python应用程序。它在Linux上运行良好,看起来很棒。它在Windows上也运行得很好,但是看起来非常糟糕。默认的GTK主题看起来完全不像本地的Windows GUI元素。
我能做些什么来让我的Python应用程序看起来更好一点吗?也许我可以调用一些函数来将主题更改为更好一点的东西?
编辑:使用下面答案中建议的rc_parse()
函数,我现在有:
import pygtk,gtk
gtk.rc_parse("C:\Program Files\Common Files\GTK\2.0\share\themes\Bluecurve\gtk-2.0\gtkrc")
window = gtk.Window(gtk.WINDOW_TOPLEVEL)
button = gtk.Button()
button.set_label("Hello")
window.add(button)
button.show()
window.show()
gtk.main()
…
我相信您正在寻找rc_parse
函数,它将允许您加载带有主题的gtkrc文件。另外,请参阅http://faq.pygtk.org/index.py?file=faq21.012.htp&req=show,其中展示了如何更改windows上的GTK主题。现在的问题是找到一个适合您需要的GTK主题。在谷歌上搜索http://gtk-wimp.sourceforge.net/,这可能就是你需要的。
我会查看gtk-wimp
您必须在Windows中安装匹配的主题引擎或使用Windows默认的gtk-wimp主题。Bluecurve需要Bluecurve引擎。见http://faq.pygtk.org/index.py?file=faq21.012.htp&要求=显示
在重新解析后尝试这样做,以更改样式:
gtk.rc_reset_styles(gtk.settings_get_for_screen(self.window.get_screen()))