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

mgi*_*uca 37 linux tk-toolkit

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

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

那么Windows Vista/7呢?我没有在这些平台上看到任何Tk截图.

Don*_*ows 19

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

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


Eli*_*les 8

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

echo '*TkTheme: clam' >> ~/.Xresources
xrdb -merge ~/.Xresources
Run Code Online (Sandbox Code Playgroud)

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

这是期待的(显示是git gui):

应用tk主题

在上面的命令发出后,左边是git gui.注意条形图是如何改变的,按钮也是如此.


f3l*_*lix 5

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