我有一个应用程序,可以在使用Perl/TK
GUI的Windows,Linux和Solaris上运行。由于限制,我们仅限于Perl / TK。此外,我们仅限于旧的Perl/Tk
版本,5.00404
。
我想在这些限制内工作,使GUI看起来尽可能美观和现代。
是否有任何网络资源有TO设计方案(按钮,框架,颜色等),可以帮助我做这项工作?
我也在寻找像我找到here那样的现代化建议:
如果您发现您的Tk应用程序在基于X的系统上看起来有点难看,请尝试在脚本顶部添加以下行:
$mw->optionAdd("*font", "-*-arial-normal-r-*-*-*-120-*-*-*-*-*-*"); $mw->optionAdd("*borderWidth", 1);
尝试使用图像而不是按钮元素,然后你可以拥有你喜欢的任何风格,并且可以烘焙字体。这几乎适用于内容不是动态的任何元素 - 包括窗格等背景。虽然它更多的工作,但它确实解决了你的问题,特别是如果你的项目组中有一个称职的艺术家。
您可以使用Tk theme engine为您的应用程序提供更好的外观。
使用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看看它有多准确。