有没有办法更改 Windows 上当前的 PyGTK 主题?

发布于 2024-11-03 08:26:00 字数 579 浏览 0 评论 0原文

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

...但它不起作用。

I've written a Python app that uses PyGTK. It runs fine on Linux and looks great. It also runs fine on Windows, but it looks absolutely awful. The default GTK theme looks absolutely nothing like the native Windows GUI elements.

Is there anything I can do to make my Python app look a little better? Perhaps some function I can call to change to theme to something a little nicer?


Edit: using the rc_parse() function suggested in the answer below, I now have:

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()

...but it's not working.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(4

柳若烟 2024-11-10 08:26:00

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

I believe you're looking for the rc_parse function, which will let you load a gtkrc file with a theme. Also, see http://faq.pygtk.org/index.py?file=faq21.012.htp&req=show, which shows how to change the GTK theme on windows. Now the problem becomes finding a GTK theme that fits your needs. Some googling turns up http://gtk-wimp.sourceforge.net/, which may be what you need.

忘东忘西忘不掉你 2024-11-10 08:26:00

我会研究gtk-wimp

I would look into gtk-wimp.

悲念泪 2024-11-10 08:26:00

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

You have to install the matching theme engine in Windows or use a gtk-wimp theme which is on Windows by default. Bluecurve requires the bluecurve engine. See http://faq.pygtk.org/index.py?file=faq21.012.htp&req=show

无声情话 2024-11-10 08:26:00

重新分析后尝试此操作,以更改样式:

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

Try this after the reparse, to change the style:

gtk.rc_reset_styles(gtk.settings_get_for_screen(self.window.get_screen()))
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文