我正在寻找一个像PySimpleGUI一样简单的Perl工具。PySimpleGUI声称是这样的一个很好的选择:
这些都是我的要求,因为PySimpleGUI提供了所有这些,所以我尝试了一个项目。我很喜欢。这促使我们尝试为Perl查找类似的内容。
我使用KDE在Linux上运行perl 5,version 30。
到目前为止,我只发现:
我无法运行示例,所提供的文档也不符合我的要求。(我将在另一个问题中询问有关GUIDeFATE的具体问题,但GUIDeFATE并没有像PySimpleGUI那样积极地开发。)
我过去曾使用克迪编写bash脚本,但这并不是我所想的那样。
是否有相当于Perl?的PySimpleGUI?
发布于 2019-12-25 13:50:52
我在Perl中找不到任何类似PySimpleGUI
的东西。我认为您需要基于工具包的完整api (而不是像PySimpleGUI
这样的api的简化版本)构建gui。我知道Gtk3和Tk工具包是积极使用的。还有Wx和QtCore4工具包,但在我看来,这些工具包的使用较少,而且没有得到积极的维护。
下面是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();
发布于 2019-12-27 10:05:30
下面是H kon使用Tk的示例
use feature qw(say);
use strict;
use warnings;
use Tk;
my $text= '';
my $window = tkinit();
$window->Label(-text =>'Some text on Row 1')->grid();
$window->Label(-text=>'Enter something on Row 2',
)->grid(
$window->Entry(-textvariable=> \$text)
);
$window->Button(-text=>'Ok',
-command=>sub{say "You entered $text"},
)->grid(
$window->Button(-text=>'Cancel',-command=>sub{Tk::exit})
);
$window->withdraw;
$window->Popup;
MainLoop;
https://stackoverflow.com/questions/59481585
复制