【问题标题】:Bundle Perl XUL::Gui application捆绑 Perl XUL::Gui 应用程序
【发布时间】:2011-02-15 13:05:26
【问题描述】:

我开始将 XUL::Gui 视为一种为预先存在的 Perl 应用程序构建前端的方法,然后再深入研究我想要检查如何交付所有这些的所有文档。到目前为止,在文档中我可以看到我必须从命令行启动我的示例,该命令行启动 Perl 服务器和浏览器。几个问题:

  1. 如何按照通常的程序从 GUI 启动程序(以及启动 GUI 的图标),它在后台启动 Perl 服务器,所以出现的只是浏览器?这是否也会启动终端/命令行 - 应该被禁止,那么如何做到这一点?

  2. 是否可以将浏览器命名为“这是您的应用程序”,以便清楚用户应该查看的是新应用程序,而不是他们打开的另一个浏览器窗口。

  3. 如何捆绑交付-以上所有都可以在PAR中完成(我从未使用过PAR,我只是看到它是这个问题的常见答案)。

    李>

感谢大家的指点

【问题讨论】:

    标签: perl user-interface


    【解决方案1】:
    1. 设置到 perl 脚本的图形操作系统级链接,它将在后台执行它:perl myscript.pl > /dev/null 2>&1 &。这与您启动使用另一个工具包编写的程序的方式相同。创建链接以隐藏终端窗口时应该有一个选项。您还可以传递 displaysilent => 1 以关闭工具包生成的任何状态消息。

    2. 可以通过设置窗口的title属性来命名浏览器窗口:

      display Window(
          title => 'my window title',
          ... # additional window attributes and children
      );
      

      设置自定义窗口图标将是即将发布的版本中的一项功能。

    3. 我没有尝试过使用 XUL::Gui 的打包程序之一,但我不明白为什么它不起作用。该脚本仍将依赖于安装的 Firefox 或 XULRunner。

    如果您有任何其他问题,请告诉我。

    【讨论】:

    • 谢谢。不幸的是,第 3 步开始引发一场噩梦。我只是试图捆绑您的标准示例(在我进入自己的应用程序之前,想确保 hello world 的等效项适用于整个链)。但是,看起来打包 perl 有其自己的(非常陡峭的)学习曲线。
    • 嗨,Eric,尽管可能会出现问题,但我开始更深入地研究使用 XUL::Gui。所以刚刚运行了你所有的例子——不得不说它看起来非常棒!我的应用程序必须做的一件事是在没有明确关闭的情况下保持活力。我刚刚调整了您最基本的示例,但是在离开应用程序几个小时(Mac 睡着了)后我注意到的一件事是服务器消失了,尽管浏览器窗口还活着。所以应用程序不再响应。这很常见吗?我能做些什么来避免这种行为?
    【解决方案2】:
    1. 当您使用 PAR 时,您可以在 Windows 上使用快捷方式或在 Mac 上制作应用程序包。您可以禁止显示带有 PAR 的终端窗口。

    2. 好像有人回答了这个问题

    3. 标准杆!标准杆真的很好用。您可能需要通过command line par packer options 显式包含库。

      在 Mac 上,使用 Platypus 将您的 PAR 打包为应用程序包,这对于在 Mac 上分发 perl 应用程序非常有效。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2020-07-05
      • 2018-05-05
      • 2018-06-01
      • 2015-10-30
      • 2016-04-16
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多