gpt4 book ai didi

perl - 有没有像 Perl 的 PySimpleGUI 这样的工具?

转载 作者:行者123 更新时间:2023-12-05 00:42:32 25 4
gpt4 key购买 nike

我正在寻找一个简单的 Perl GUI 工具 PySimpleGUI . PySimpleGUI 声称是处理此类事情的不错选择:

  • 将简单 GUI 的便利性添加到 CLI Perl 脚本中。
  • 分享一些我从终端运行的很酷的 Perl 工具,但为(内部)用户提供了一个简单的 GUI
  • 与 friend 或家人分享我的 Perl 程序(他们对 CLI 不太习惯)
  • 在系统托盘中运行程序(可能)
  • 寻找“受支持”并不断开发和改进的 GUI 包
  • 好的文档和示例

  • 这些是我的要求,因为 PySimpleGUI 提供了所有这些,所以我尝试了一个项目。我喜欢它。这促使我尝试为 寻找类似的东西。 Perl .

    我正在使用 KDE 在 Linux 上运行 perl 5,版本 30。

    到目前为止,我只发现:
  • saiftynet/GUIDeFATE:来自文本编辑器的 GUI 设计 https://github.com/saiftynet/GUIDeFATE

  • 我无法运行示例,并且提供的文档不符合我的要求。 (我会在一个单独的问题中询问我使用 GUIDeFATE 的具体问题,但 GUIDeFATE 不像 PySimpleGUI 那样积极开发。)

    我用过 Kdialog对于过去的 bash 脚本,这不是我的想法。

    Perl 是否有 PySimpleGUI 的等价物?

    最佳答案

    我找不到像 PySimpleGUI 这样的东西在 Perl 中。我认为您需要基于工具包的完整 api 构建 gui(而不是像 PySimpleGUI 这样的简化版本的 api)。我知道Gtk3
    Tk工具包被积极使用。还有WxQtCore4工具包,但在我看来,这些工具包使用较少,也没有得到积极维护。

    这是 Gtk3 中的一个例子:

    use feature qw(say);
    use strict;
    use warnings;
    use Gtk3 -init;

    my $window = Gtk3::Window->new( 'toplevel' );
    $window->signal_connect( destroy => sub { Gtk3->main_quit() } );
    my $grid = Gtk3::Grid->new();
    $window->add( $grid );
    my $label1 = Gtk3::Label->new('Some text on Row 1');
    $grid->attach($label1, 0,0,1,1);
    my $label2 = Gtk3::Label->new('Enter something on Row 2');
    $grid->attach($label2, 0,1,1,1);
    my $entry = Gtk3::Entry->new();
    $grid->attach($entry, 1,1,1,1);
    my $button1 = Gtk3::Button->new('Ok');
    $button1->signal_connect('clicked' => sub { say "You entered ", $entry->get_text( ) } );
    $grid->attach($button1, 0,2,1,1);
    my $button2 = Gtk3::Button->new('Cancel');
    $button2->signal_connect('clicked' => sub { $window->destroy() } );
    $grid->attach($button2, 1,2,1,1);
    $window->set_position('center_always');
    $window->show_all();
    Gtk3->main();

    关于perl - 有没有像 Perl 的 PySimpleGUI 这样的工具?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59481585/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com