【问题标题】:Perl GUI programming on WindowsWindows 上的 Perl GUI 编程
【发布时间】:2012-09-11 19:43:00
【问题描述】:

我正在寻找用于在 Windows 上进行 Perl GUI 编程的工具,用于教育/内部开发,主要与科学相关。

我的第一选择是 PerlQt。我的一个朋友正在使用 Qt 和 C++ 进行开发,所以我希望能从他那里得到一些帮助。 Qt 也有一个 GUI 创建器,Linux 与 Perl 有很好的集成。 不幸的是,我未能使其在 Windows 上运行。 我搜索了其他选项,搜索后仍然不清楚。这就是我到目前为止所得到的。

  • Perl/Tk:广泛的用户群,良好的文档,相对较低的学习 曲线。但老样子,可能不活跃。然而有些文章说它现在重新启动并且具有原生外观。
  • wxPerl:原生外观。但学习曲线陡峭。并非所有 wx 库都移植到 Perl。有人喜欢有人讨厌。
  • Win32:GUI:原生外观,可以使用所有Windows API。需要强制安装,因为其中一项测试失败。仍然可以使用,但不确定是否已正确安装。
  • XUL::GUI:使用 FireFox 引擎,CSS 输入。

我可以设法安装它们并成功显示“Hello, world”。然而,我无法决定去哪一个,而且网上的信息有时看起来相互矛盾。

您会比较这些工具在人类效率(易于阅读和编写代码)、计算效率和 GUI builder 的可用性方面吗?

【问题讨论】:

  • 你错过了Prima。我找到了Prima on Windows的一个很好的介绍。
  • 我看到你说“与科学有关”。你在用它做什么? David Mertens(和其他一些人,包括我自己)正在使用 Prima 构建一个以 PDL 为中心的 REPL。它的功能可能能够包含简单的应用程序作为主窗口中的选项卡。 CPAN link, GitHub link

标签: windows perl user-interface


【解决方案1】:

对于真正的跨平台 GUI 编程,我建议 PrimaTk。看起来都不是很好,但它们很有效。

不过,我认为现在使用 Web 前端可能比真正的 GUI 更好地为您服务(呵呵);这很容易使用网络框架。我建议Mojolicious 尽管其他人确实喜欢Dancer。我推荐 Mojo 而不是 Dancer 的主要原因是 Mojo 在一个小包中提供了许多功能。话又说回来,这就是其他人会推荐Dancer的原因,所以这是一个折腾。

最后一个考虑因素是 Mojo 带有开箱即用的 WebSockets。这让您的 web 应用更容易让人感觉更像一个真正的应用程序,与服务器对话并在不重新加载的情况下获得响应。

编辑:我现在有一个使用 Perl/Mojo 后端和 Web 前端编写的桌面应用程序的好例子:Azawawi 的Farabi。它是一个文本编辑器,用于编写 Perl。它的 GUI 是浏览器,使它成为一个简单的跨平台编辑器。我推荐它作为类似任务的起点。

【讨论】:

    【解决方案2】:

    我的 perl 模块 IUP 的自我宣传:

    • 它使用原生小部件(= 您的应用将具有原生外观)
    • 它还略微跨平台(Win32、GTK、Motif)

    【讨论】:

    • 感谢我一直在寻找的出色工具
    【解决方案3】:

    我有使用 PerlTk 和 wxPerl 的经验。 wxPerl 是我可以推荐的相当不错的工具包。还有一个 GUI 构建器可用wxGlade

    我在 Tk 中的几个应用程序教会我全心全意地讨厌那个工具包:

    1. 看起来很糟糕
    2. 在解决各种问题上花费了不成比例的编码时间 错误和寻找缺失功能的解决方法

    【讨论】:

      【解决方案4】:

      这里是对小部件工具包的一个很好的概述——其中许多工具包为流行的编程语言提供了包装器:

      http://en.wikipedia.org/wiki/List_of_widget_toolkits

      我推荐[wxwidgets][1] aka wxwindows,或基于浏览器的解决方案(例如 XULrunner)或纯基于 Javascript+HTML5 的解决方案。目前我正在开发一个只有基本控制台 UI 的跨平台工具,然后使用 websockets 和 HTML5 + SVG 来实现更复杂的 UI 呈现和 UX。为了使网络内容动态化,我使用了一个简单的模板引擎。

      ( 就个人而言,对于概述问题,我有很好的经验将术语 wikipedialist of 放在受信任的搜索引擎的搜索查询中。感谢勤奋的维基百科社区。​​em> )

      【讨论】:

        【解决方案5】:

        在 perlmonks 上有一个过时的 Perl GUI FAQ

        PerlQt 密切跟踪 Qt。

        【讨论】:

        • 我遇到了常见问题解答。我不确定有多少信息仍然有效。常见问题解答是 2001 年编写的,2004 年进行了一些更新。大部分信息在 Windows 7 上仍然有效吗?
        • @microbe - 我已经在 Windows 上运行 PerlTk,除此之外,我不知道(Tk,对我来说,适用于 1 或 2 窗口应用程序,但除此之外,我d可能会选择其他东西)。在编写常见问题解答时,Prima 还很新,但看起来仍然保持不变。
        • Prima 得到积极维护。 Dmitry 定期与我们合作。他也很快修复错误。
        【解决方案6】:

        Hta、HTML 应用程序、mshta.exe... 旧但工作起来就像一个魅力。 优点:基本上可以完全访问您开发内部可信应用程序所需的一切。 缺点:几何变得乏味,perlscript(vs vbscript/javascript)文档/示例基本上不存在

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2013-02-19
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多