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

3
我正在开展一些个人项目以提高我的Perl技能。其中,它们需要在不同的操作系统上提供GUI接口。在过去,我用Perl做过一些少量的GUI工作,使用了TK(而且那只是通过一些示例项目进行的)。除了TK之外,我知道Qt和GTK也是可选项。还有其他选项吗?在可用选项中,您推荐哪个选项用于此目的?现在,我倾向于使用GTK作为Ubuntu用户,但我想知道是否Qt在跨平台使用Windows方面不是更好的选择。

重复问题:https://dev59.com/D0zSa4cB1Zd3GeqPmnTl,https://dev59.com/rE3Sa4cB1Zd3GeqPrgjn,https://dev59.com/9UbRa4cB1Zd3GeqPxRwh,https://dev59.com/AXRB5IYBdhLWcg3wLUy3 - ptomato
2个回答

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

非常有趣...我好像记得读过关于'Wx'的内容并将其存档。我一定会在这些项目中看看它。 - HerbN
1
尽管如此,如果Wx能够在所有地方都能正常工作那就太好了。我从来没有在Mac OS X上编译成功过,而使用各种端口则会导致令人不愉快的库冲突。 - brian d foy

4

我一直在编写模块XUL::Gui,它使用Firefox或XULRunner来渲染其GUI。这两个都是跨平台的(并且使用本地样式)。 GUI使用XUL和HTML标记语言的功能形式构建,并使用CSS样式。该模块仍在开发中,但可能已经足够满足您的需求。以下是一个简短的示例:

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编写的,只有核心模块依赖,因此安装非常容易(与几乎所有其他Perl GUI工具包需要C代码编译的情况不同)。
为了获得最大的跨平台支持,您还可以使用 XUL::Gui 的另一面 Web::Gui,它删除了Mozilla特定的XUL支持,但打开了使用大多数现代Web浏览器呈现HTML + CSS GUI的大门。

谢谢您提出这个问题。我曾经简单地研究过它,可能以后会回来看看。话虽如此,对于这些项目,我正在寻找“传统”的GUI工具包......那是它们目的的一部分。 - HerbN

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接