对于Perl程序,Windows GUI工具包有哪些好的选择?

DVK*_*DVK 13 windows perl user-interface

我正在考虑在我的Windows桌面上执行一些任务自动化(例如,对大量音乐/文本/照片文件进行分类等).

看看我的主要开发人员专业领域是如何在Unix上使用Perl,我更倾向于坚持使用Perl来编写我需要做的任何业务逻辑,只是为了提高开发效率.

问题是,如果我想在工作之上打一些GUI(在Unix上的ala Perl :: Tk),我的GUI工具包选项是什么,你建议使用哪一个?

请注意,我希望这个问题对其他SO用户来说是一个很好的学习机会,所以我欢迎任何答案,即使他们不一定满足我下面列出的限制/需求,尽管说明你的解决方案如何关联这些考虑因素将非常受欢迎.

我的考虑主要是因为我想要一个快速开发的个人用工具,以节省我现在手动执行的任务的时间.

  • 主要的考虑因素是Perlishness of development - Perl的口号是"轻松的事情应该是容易的,而且应该是可能的事情".特别是第一部分:)

  • 就所使用的组件而言,更喜欢(但不是坚持)尽可能本地化.例如,重新使用Windows的文件打开对话框,而不是使用一些自定义Java对话框.

  • 我更喜欢使用一些学习曲线较小的东西(例如,不需要学习OLE/COM的复杂性),因为这里的目标是快速开发我需要简化生活的工具而不是开发人员教育,我专注于与我的日常工作更相关的领域:).

    但是我非常希望在这样做时能够接触到新的/酷的东西,例如,如果建议使用一些基于Monad的GUI组件,我肯定很好奇.

  • 性能很重要(例如,我可能需要显示> 10000个文件的目录列表),但不是最重要的 - 我是一个非常好的GUI设计人员和开发人员,可以随时构建我的应用程序并设计一个GUI,以便在需要时进行扩展. .

  • 我强烈希望(尽管不是坚持)一个不强迫我编译东西的框架.例如,Perl库比我需要编译的自定义Java东西更可取.但是如果框架在所有其他方面都是完美的,那么我就可以使用已编译的解决方案(只要它不需要我购买Visual Studio或其他类似的东西 - 我想构建一个Windows GUI前端供个人使用,不投资成为Windows开发人员).

除了上述限制之外,我非常开放和灵活.一些ActivePerl/Strawberry Perl库,基于MS PowerShell的组件 - 哎呀,如果没有更好的表现我会在我的PC上安装Apache并构建一个Web前端:)

tse*_*see 6

关于界面的"perlishness",我建议普通的旧Tk.不幸的是,它看起来很陈旧,非win32-ish.

如果你想要原生小部件,我认为你最好的镜头是通过Win32 :: GUIWx使用本机Windows GUI .我没有Win32 :: GUI的经验,但Wx非常好.然而,它确实有一个相当陡峭的学习曲线,并且界面不是非常"perlish".C++的根源显示了一点点(无论好坏).

有一些Tk替换实际上是围绕Tcl/Tk的薄包装(我认为Tcl :: Tk和Tkx).它们看起来比Perl/Tk更现代,但我也没有亲身经验.如果您只是针对Windows进行开发,请查看随附(我认为)Tkx的ActivePerl.他们的ppm4包管理器是用它编写的,看起来很漂亮!


Mic*_*man 5

perlfaq3中列出了许多选项,而其他一些选项则没有.我只熟悉基于Tk的那些.

Perl/Tk具有最"perlish"的界面,但它尚未更新以利用当前版本的Tk中的tile(本机/主题小部件)支持(并且可能永远不会).Tkx使用与Tk不同的桥接器.它允许访问Tk中的所有内容(并且它也更快),但语法不那么流行.Tkx设计为超过Tk的薄包装; 您必须查阅大部分内容的Tk文档并翻译以便在Perl中使用它.该的Tcl/Tk模块使用相同的桥为TKX但支持语法这主要是一样的Perl/Tk的.

是否需要编译任何内容取决于您使用的Perl版本.如果你使用Strawberry Perl,你可能需要编译一些东西,无论你选择什么工具包.ActivePerl发行版在5.8.x周期中的某个时间段包含了Tkx,并且从5.10开始就停止捆绑Tk,尽管它仍然可以通过PPM获得.Tcl/Tk可以从CPAN获得,但是我无法使用与ActivePerl捆绑在一起的Tk库.您可能需要单独安装Tcl才能使用它.

就个人而言,我曾经使用Perl/Tk但现在使用Tkx.