【问题标题】:Is there a way to change the current PyGTK theme on Windows?有没有办法在 Windows 上更改当前的 PyGTK 主题?
【发布时间】:2011-05-31 19:53:46
【问题描述】:

我编写了一个使用 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()

...但它不起作用。

【问题讨论】:

    标签: python themes pygtk


    【解决方案1】:

    我相信您正在寻找rc_parse 函数,它可以让您加载带有主题的gtkrc 文件。另外,请参阅http://faq.pygtk.org/index.py?file=faq21.012.htp&req=show,它展示了如何在 Windows 上更改 GTK 主题。现在问题变成了找到适合您需求的 GTK 主题。一些谷歌搜索出现了http://gtk-wimp.sourceforge.net/,这可能是你需要的。

    【讨论】:

    • 我的主题在'C:\Program Files\Common Files\GTK\2.0\share\themes',所以我会做gtk.rc_parse("C:\Program Files\Common Files\GTK\2.0\share\themes\MS-Windows\gtk-2.0\gtkrc")?
    • 是的,我相信是的。虽然您可能不想硬编码路径。
    • @George:如果您运行的是 Vista/7,根据我在网上听到的消息,没有原生主题。另外,尝试根据第二个链接全局设置主题。
    【解决方案2】:

    我会调查gtk-wimp

    【讨论】:

      【解决方案3】:

      您必须在 Windows 中安装匹配的主题引擎或使用默认在 Windows 上的 gtk-wimp 主题。 Bluecurve 需要 bluecurve 引擎。见http://faq.pygtk.org/index.py?file=faq21.012.htp&req=show

      【讨论】:

        【解决方案4】:

        重新解析后试试这个,改变样式:

        gtk.rc_reset_styles(gtk.settings_get_for_screen(self.window.get_screen()))
        

        【讨论】:

          猜你喜欢
          • 2018-11-29
          • 2018-10-18
          • 1970-01-01
          • 2019-09-13
          • 2015-05-31
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多