使Tk看起来像一个原生的Linux应用程序

时间:2011-06-28 01:17:41

标签: linux tk

浏览TkDocs网站时,看起来Tk在“原生外观”部门已经走过了漫长的道路。但是看一下these screenshots中的一些内容,它似乎在Linux中失败了。如果向下滚动该页面,您将看到一个看起来与Mac完全相同的Mac屏幕截图,一个看起来与Windows XP完全相同的Windows XP屏幕截图,以及一个看起来像...... Windows 98(或带有经典的Windows XP)的Linux屏幕截图样式)。

我知道Linux并不真正具有“本机外观”,因为每个工具包都有自己的样式。但是我想知道是否有任何方式来设置Tk,所以它看起来像GTK或Qt(最好是Gtk),所以它会融入Linux桌面上的大多数其他应用程序。

Windows Vista / 7怎么样?我没有在这些平台上看到任何Tk截图。

4 个答案:

答案 0 :(得分:19)

Tk基本上有两套小部件,经典小部件和主题小部件。经典小部件是默认的,因为需要支持旧的应用程序,但新代码应该使用主题小部件。 (它们不能超载,因为它们以完全不同的方式工作,并且有很多代码依赖于旧的经典方式。唉。)使用正确的主题,主题小部件(通常称为Ttk)看起来原生和在Windows和OSX上本地运行。

有部分Ttk主题委托给Gtk和Qt可用(去年this presentation显示它们在行动中)但它们是部分的,很大程度上是因为主题质量差(Gtk / Qt)主题,而不是Ttk主题;这是令人困惑的!)与这些工具包的典型使用。主要问题显然是在度量标准的报告中,这通常似乎是错误的(导致小部件的大小错误或视觉元素放在错误的位置);我从与该论文的作者交谈中了解到,很大一部分主题恰好与Gtk / Qt合作,但无法从个人经验中验证这一点。 (我在OSX上,所以我使用Ttk的直接原生支持。)

答案 1 :(得分:8)

对于现代Linux发行版的不耐烦的用户:

echo '*TkTheme: clam' >> ~/.Xresources
xrdb -merge ~/.Xresources

然后重新启动基于Tk的应用。

这是预期的结果(显示为git gui):

applied tk theme

左边是git gui在发出上述命令后启动。注意条形图是如何变化的,按钮也是如此。

答案 2 :(得分:5)

PySolFC包含一个漂亮,现代的外观和感觉,也可以与其他Tk应用程序一起使用 Stephan Sokolow在他的blog

中写到了这一点

答案 3 :(得分:2)

正如我在Python的主要邮件列表中不时听到的那样,Themed TK(TTK)小部件是可以使用的,可以模仿本地小部件或者做自己的事情并且看起来很好。见http://www.tkdocs.com/tutorial/styles.html

根据经验,Tk(至少通过Python)看起来像垃圾。我在Windows 7上为你拉了一个测试:http://sadpanda.us/images/542945-LNUGO0F.jpg。默认情况下不是真正的外观!