与其他解决方案相比,Tk模块在Perl中创建GUI有什么缺点?Perl Tk模块的缺点是什么?
回答
我最近浏览了Perl的各种GUI模块,这里是我的总结(免责声明:最终我发现现有的模块都不符合我的需求,所以我开始编写我自己的GUI工具包)。
Tk的 - 有体面的工作和接口是非常Perl。 GUI本身有点过时,并没有利用任何操作系统的原生小部件(如filepickers)。在大多数系统上,它需要安装一个C编译器。
蜡质 - 很难用,未Perlish的接口工作。大型项目几乎需要一个gui builder来跟踪一切。对os级别小部件的支持是混合的。比Tk IMO更好看。涉及编译,需要安装几个库,可能很难在Windows上运行。程序集非常程序化,并且不会完全映射到程序的实际外观。
Qt的 - 去年我看了这个模块是或多或少遗弃,只支持QT3。我没有尝试安装它,但我想它需要一个编译器。
Prima - 与Tk类似,它具有过时的外观。需要一个编译器。
W32 :: GUI - 我排除了这一可能性的早期,因为它不是跨平台的。
XUL :: Node/POE :: XUL :: Node - 包含C代码的相当重的依赖关系树。似乎没有维护,我有混合的经验让它安装。 Windows是不行的,OSX是不行的,它在OpenSUSE上的功能有限。它也只支持XUL语言的一个子集。
我发现现有的gui工具包都不能让您轻松地将应用程序分发给最终用户。可以期待程序员跳过解决库依赖和编译代码的束缚,但最终用户不会那样做。所以我的第一个要求是成为纯Perl。其次,几乎所有现有的gui工具包都迫使你以非常程序化的方式工作:创建一个容器。为容器创建一个包装器。创建一个对象。在该对象上设置属性。将对象添加到打包器。运行打包器来填充容器对象。重复。
相反,我发现嵌套的设计(如HTML)是容易按照有两个原因。首先,因为对象是嵌套的,所以不需要命名所有内容(label_456,label_457 ...)。其次,程序的结构反映了显示内容的结构。
所以我开始了XUL::Gui的工作,它的进展相当顺利。它是纯粹的Perl,只依靠核心模块来简化安装。它有一个外部要求,就是安装最近的(3+)Firefox副本。它使用熟悉的web开发设计模式,并使用CSS样式的嵌套标签。当然,您可以在其中编写功能齐全的单窗口应用程序。
希望这可以帮助你找出哪些工具是最适合你的项目。
通过使用这里提到的二进制文件,你可以在Windows上安装wxPerl而不会复杂化。http://www.wxperl.it/p/download.html – 2017-05-03 03:10:56
Tk在很长时间内还没有开发出来。 ActiveState现在推荐使用Tkx工具包进行开发,该工具包提供了TclTk上的一个薄层。这意味着主题小工具是可能的。但是,与许多其他GUI工具包相比,TclTk仍然非常原始。
我还没有尝试XUL:Gui,但似乎要走的路。
在Windows和OSX上,Tk(尤其是Ttk小部件)看起来确实非常好使用原生小部件。我们一直在研究如何在Linux上使用“本地”小部件,但问题是(显然,根据Georgios Petasis最近的一份会议论文),即使在常见的度量标准GTK和Qt主题中存在一些相当普遍的问题那些。 – 2011-01-11 13:36:48
我之所以说“native”是因为Tk *是一个原生的X11工具包,并且在创建GTK或Qt之前就已经很好了。 – 2011-01-11 13:40:13
这些天,Tk可能得不到很多发展,但至少它保持活力,并且仍然会安装在大多数perl版本的系统上。 – 2013-07-17 13:40:10
- 1. 这些Tk :: Perl中的Perl/Tk错误是什么意思?
- 2. 什么是Perl Tk :: Methods和Tk :: Submethods语句的用法?
- 3. PHP APC模块。有什么缺点?
- 4. 星型模式的缺点是什么?
- 5. 使用什么Perl模块?
- 6. Perl/Tk的StringGrid模拟
- 7. SqlBulkCopy的缺点是什么
- 8. TableAdapterManager的缺点是什么?
- 9. XInitThreads()的缺点是什么?
- 10. VirtualizingStackPanel的缺点是什么?
- 11. callStackSymbols的缺点是什么
- 12. DWR的缺点是什么?
- 13. 什么是VB.NET中的模块,它的优点是什么?
- 14. 将ActiveRecord方法放入模块的优点和缺点是什么?
- 15. 为什么我的Django模块缺失?
- 16. 使用XML模式的优点和缺点是什么?
- 17. Perl中BEGIN块的作用是什么?
- 18. 我应该在Perl GUI中使用Perl/Tk,Tcl :: Tk还是Tkx?
- 19. 未能在Windows7中安装Perl的Tk模块
- 20. 检查并报告缺少Perl模块
- 21. 使用LOGO的缺点/缺点是什么?
- 22. Perl对OOP有什么优点和缺点?
- 23. 多继承的缺点是什么?
- 24. Gradle的当前缺点是什么?
- 25. Android中sendSticyBroadcast()的缺点是什么?
- 26. Stackless Python的缺点是什么?
- 27. F#的优缺点是什么?
- 28. 链接列表的缺点是什么?
- 29. 红黑树的缺点是什么?
- 30. 是什么<!DOCTYPE HTML>的缺点
为什么你只关心缺点?相对于什么?另请参阅http://stackoverflow.com/questions/1249186/should-i-use-perl-tk-tcltk-or-tkx-for-a-perl-gui – 2010-04-07 14:57:50
我希望有人会争辩我做perl-gui -programming。 – 2010-04-07 16:44:16