浏览TkDocs网站,Tk似乎在"本地外观"领域取得了长足的进步.但看看these screenshots中的一些,Linux似乎让人失望.如果你向下滚动该页面,你会看到一个与Mac一模一样的Mac屏幕截图,一个与Windows XP一模一样的Windows XP屏幕截图,以及一个与...Windows 98(或classic 风格的Windows XP).

我知道Linux并没有真正的"本机外观",因 for each 工具包都有自己的样式.但我想知道是否有任何方法可以设计Tk,使其看起来像GTK或Qt(最好是GTK),这样它就可以融入Linux桌面上的大多数其他应用程序.

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

推荐答案

Tk基本上有两组小部件,classic 小部件和主题小部件.classic 的小部件是默认的,因为需要支持旧的应用程序,但是new code should use the themed widgets个.(它们不能超载,因为它们以完全不同的方式工作,还有很多代码依赖于旧的classic 方式.唉.)如果主题正确,主题小部件(通常称为Ttk)看起来是本地的,在Windows和OSX上表现为本地的.

有部分Ttk主题可以委托给Gtk和Qt(go 年的this presentation个展示了它们的实际效果),但它们是部分的,很大程度上是因为主题质量差(Gtk/Qt主题,而不是Ttk主题;这让人困惑!)通常与这些工具包一起使用.主要问题显然在于指标的报告,这通常看起来是错误的(导致小部件的大小错误或视觉元素放置在错误的位置);我从与论文作者的交谈中了解到,相当一部分主题只与Gtk/Qt一起使用,但无法从个人经验中验证这一点.(我在OSX上,所以我使用Ttk的直接本机支持.)

Linux相关问答推荐

如何将数据从Linux内核中的块驱动程序持久存储到存储中?

删除第二列中数字为零的行

在 Linux 上的 std::threads 中创建子进程

ln命令报错target not a directory

如何在ubuntu中通过.sh文件启动多个服务

Linux 如何将主机文件作为用户的输入并将其调用到脚本中

如何在makefile中包含静态库

CHMOD 755 与 750 权限集之间的差异

使用 Bash 获取特定文件的 mtime?

使用 AWS CLI 进行 Bash - 无法找到凭证

Linux 和 I/O 完成端口?

NGINX:connect() 到 unix:/var/run/php7.0-fpm.sock 失败(2:没有这样的文件或目录)

将 AWK 结果分配给变量

发出信号并中断比较

CLOCK_MONOTONIC 和 CLOCK_MONOTONIC_RAW 有什么区别?

使用 C++ 代码在 Linux 中清除终端

PHP exec - 判断是否启用或禁用

conda 命令会提示错误:Bad Interpreter: No such file or directory

如何使用mv命令移动特定目录中的文件除外?

当我已经 ssh 进入远程机器时,如何 scp 回到本地?