我真的很喜欢Perl/Tk,但我认为它是DOA。我认为Tcl::Tk和Tkx是更好的解决方案。假设我放弃了Perl/Tk。“最受支持”的路线是Tcl::Tk (自2007年以来就没有更新过,而且似乎无法联系到其作者),还是Tkx?它们中的任何一个都被积极使用/支持吗?
发布于 2009-08-08 16:35:17
在幕后,Tcl::Tk和Tkx都使用Tcl模块作为连接Tcl/Tk的桥梁。不同之处在于它们提供给Perl的API。
Tkx是由ActiveState开发的,他们在工具的图形用户界面中使用它。(例如PPM)它被广泛使用,尽管很难说有多广泛。它也得到了支持,但因为它在Tcl上只有一层薄薄的一层,所以没有太多的支持。从某种程度上说,这是一件好事--几乎没有什么需要改变或破坏的--但它确实给人一种被遗弃的感觉。
Tcl::Tk作为一个副项目开始,以演示API与Perl/Tk的兼容性是可能的。我喜欢这个想法--如果只需要将use Tk更改为use Tcl::Tk,并从Tcl/Tk的更新版本中获得像tile (主题)支持这样的好处,那就太好了。不幸的是,它还没有出现。似乎正在做一些工作,但不是很多。它确实需要更多的开发人员。
就我个人而言,我使用Tkx。如果您有使用Perl/Tk进行开发的经验,那么转换过程并不会太痛苦,但我认为这将是一个很难开始的地方。最糟糕的是,您需要引用Tcl/Tk documentation才能使用它。如果您了解Tcl,那就太好了,因为这座桥给Perl带来的惊喜很少,但是如果您不了解它,那么从一种不熟悉的语言进行翻译就很麻烦了。
发布于 2009-08-08 16:14:40
我用wxPerl,here is a short article on O'Reilly得到了很好的结果
注:我的目标是win32,这是大约5年前的事了。
发布于 2019-02-27 11:54:16
(Disclosure:我是Tcl::pTk和Tkx的维护者,并向Perl/Tk、Tcl/Tk和Tcl::Tk提交了贡献。)
2019年更新:
Perl/Tk在过去几年中发布了版本,从那时起就有了development,但维护者承认没有足够的时间来进行重大改进,比如incorporating changes from Tcl/Tk 8.5+。任何想要使用较新的Tcl/Tk版本中的特性或改进的人可能会对使用Tcl/Tk“包装器”模块之一感兴趣(它提供从Perl访问完全独立的Tcl/Tk安装,而不是将所有Tk放在单个Perl模块中)。
use Tk;语句使得尝试Tcl::pTk变得相当容易。Tcl::pTk仍然是一项正在进行的工作,但是使用不同的程序尝试它可以帮助找到还需要improvement.的东西
或者,如果你不熟悉/Tk,更熟悉实际的Tcl/Tk语法,或者熟悉语言的包装器(例如
我去年发现了Tcl::pTk,从那以后我就成了它的维护者。我使用它主要是为了使用macOS的原生aqua (而不是像Perl/Tk使用的XQuartz ),这也是其他一些活跃用户报告使用它的目的。
https://stackoverflow.com/questions/1249186
复制相似问题