选择Perl GUI模块以实现最大的跨平台使用

时间:2010-09-03 20:25:05

标签: perl user-interface qt gtk

我正在开展一些个人项目以提高我的Perl技能。除此之外,他们还需要在不同的操作系统上提供GUI界面。在过去,我在Perl上使用TK做的很少的GUI工作(那只是通过一些示例项目)。我知道超越TK,Qt和GTK也是选择。

还有其他人吗?

在可用选项中,您为此目的推荐了什么?现在我倾向于使用GTK作为Ubuntu用户,但我想知道Qt可能不是更好的选择与Windows的跨平台工作。

2 个答案:

答案 0 :(得分:8)

我建议Wx。它是专为跨平台使用而设计的元工具包,将使用目标平台上可用的任何底层工具包。

答案 1 :(得分:4)

我一直在编写使用Firefox或XULRunner渲染其gui的模块XUL::Gui。这两者都是跨平台的(并使用本机样式)。 Gui是使用具有CSS样式的XUL和HTML标记语言的功能形式构建的。该模块仍处于开发阶段,但可能足以满足您的需求。这是一个简短的例子:

use XUL::Gui;

display Window title => 'my window',
    H2('event handling example:'),
    Button(
        label => 'click me',
        oncommand => sub {
            my ($self, $event) = @_;

            $self->label = 'ouch!';
        }
    );

模块本身是纯Perl,只有核心模块依赖,使其易于安装(与几乎所有需要C代码编译的Perl的其他gui工具包不同)。

为了获得最大的跨平台支持,您还可以使用XUL::Gui的另一个自我Web::Gui来移除Mozilla特定的XUL支持,但打开了通过大多数现代网络呈现HTML + CSS gui的大门浏览器。