我开始在中使用Perl Tk进行UI设计。我用perl创建了一个小代码,得到了以下错误

我开始在中使用Perl Tk进行UI设计。我用perl创建了一个小代码,得到了以下错误,perl,cygwin,Perl,Cygwin,错误是无法连接到/usr/lib/perl5/vendor_perl/5.22/x86_64-cygwin-threads/Tk/mainfown.pm第53行的显示“:0”。 main window->new()位于./PerlUI.pl第6行 代码是: #!/usr/bin/perl -w use strict; use Tk; my $mw=MainWindow->new; $mw->geometry("200x100"); $mw->title("Hello Wor

错误是无法连接到/usr/lib/perl5/vendor_perl/5.22/x86_64-cygwin-threads/Tk/mainfown.pm第53行的显示“:0”。 main window->new()位于./PerlUI.pl第6行

代码是:

#!/usr/bin/perl -w

use strict;
use Tk;

my $mw=MainWindow->new;
$mw->geometry("200x100");
$mw->title("Hello World!!");
$mw->Label(-text=>"Hello World")->pack();
$mw->Button(-text=>"Close",-command=>sub{exit})->pack();
MainLoop;

您需要先启动
X

perl hello_world_tk.pl
couldn't connect to display ":0" at /usr/lib/perl5/vendor_perl/5.22/i686-    cygwin-threads-64int/Tk/MainWindow.pm line 53.
MainWindow->new() at hello_world_tk.pl line 6.
通过调用
X
启动X,这将打开一个新窗口,然后运行脚本

X &

Vendor: The Cygwin/X Project
Release: 1.18.4.0
OS: CYGWIN_NT-6.1 EAPB8CA3AA75D7E 2.6.0(0.304/5/3) 2016-08-31 14:27 i686
OS: Windows 7 Service Pack 1 [Windows NT 6.1 build 7601] (Win32)
Package: version 1.18.4-1 built 2016-07-22

winInitializeScreenDefaults - primary monitor w 1280 h 1024
winInitializeScreenDefaults - native DPI x 96 y 96
XWin was started with the following command line:

X

.... more X output

# Now run your script

perl hello_world_tk.pl

看起来您没有安装X11,或者您的显示变量没有设置。我们需要您的最小代码来检查/分析@ssr1012。代码也是在bash cgywin终端上添加的。@Jens如何设置显示变量?它困扰着我好长一段时间了。