8

我有一个应用程序可以在使用Perl/TKGUI 的 Windows、Linux 和 Solaris 上运行。由于限制,我们仅限于 Perl/ TK。此外,我们仅限于旧Perl/Tk版本,5.00404.

我想在这些限制范围内工作,以使 GUI 看起来尽可能漂亮和现代。

是否有任何具有 TK 设计方案(用于按钮、框架、颜色等)的网络资源可以帮助我完成这项工作?


我也在寻找像我在这里找到的那​​样的现代化建议:

如果您发现您的 Tk 应用程序在基于 X 的系统上看起来有点难看,请尝试在脚本顶部添加以下行:

$mw->optionAdd("*font", "-*-arial-normal-r-*-*-*-120-*-*-*-*-*-*");
$mw->optionAdd("*borderWidth", 1);
4

5 回答 5

5

您可以使用Tk 主题引擎为您的应用提供更好的外观。

于 2009-03-04T16:55:51.763 回答
5

尝试使用图像而不是按钮元素,然后您可以拥有任何您喜欢的样式,并且可以烘焙字体。这几乎适用于内容不是动态的任何元素 - 包括窗格上的背景等。授予它更多的工作,但它确实解决了您的问题,特别是如果您的项目组中有一位称职的艺术家。

于 2009-05-23T06:43:38.767 回答
2

使用 optionAdd 通过选项数据库调整默认值是一个合理的开始。可以在以下位置找到有关此的线程:

http://tcl.projectforum.com/tk/221

从那里下载 griffin.kit,使用 sdx 工具解包并找到 griffin.tcl 以获得一组好的选项设置。

http://wiki.tcl.tk/3411用于 sdx 工具。

于 2009-03-11T19:51:47.023 回答
1

Tk的Tile主题引擎使它看起来更漂亮。然而,Perl/Tk 远远落后于 Tk 的发展,无法利用 Tile 和其他进步。

您应该调查Tkx是否适合您。它与 Perl/Tk 不完全兼容,但 API 非常接近。它是 Perl 和 Tcl/Tk 之间的一座桥梁,因此它可以使用所有现代 Tcl/Tk 功能(如 Tile),同时仍然使用 Perl 编写应用程序逻辑。相当多的 ActiveState 自己的图形实用程序使用 Tkx,结果相当漂亮。(来源:activestate.com
活动状态 PPM

不过,Perl 5.00404 非常古老。Tkx dist 声称依赖于 Perl≥5.008...我没有足够老的 Perl 来看看它有多准确。

于 2009-05-24T04:08:12.060 回答
1

由于在 Linux 中 Tk::Entry 和 Tk::Text 的背景是灰色的,我也将使用以下两行。

$mw->optionAdd( '*Entry.background',   'snow1' );
$mw->optionAdd( '*Text.background',    'snow1' );

用您选择的颜色替换“snow1”。您还可以使用颜色的十六进制表示 (RGB),例如“#ff9696”。

于 2011-05-25T00:13:05.043 回答