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

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

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


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

  

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

$mw->optionAdd("*font", "-*-arial-normal-r-*-*-*-120-*-*-*-*-*-*");
$mw->optionAdd("*borderWidth", 1);
有帮助吗?

解决方案

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

其他提示

您可以使用 Tk主题引擎为您提供应用程序更好看。

使用optionAdd通过选项数据库调整默认值 是一个合理的开始。有关此内容的主题可在以下网址找到:

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

从那里下载griffin.kit,使用sdx工具打开它并找到它 griffin.tcl获得一套好的选项设置。

http://wiki.tcl.tk/3411 了解sdx工具。

因为在Linux中Tk :: Entry和Tk :: Text的背景是灰色的,所以我也会使用以下两行。

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

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

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

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

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

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top