如何检查Perl / Tk应用程序中是否已打开一个模块

时间:2013-05-16 13:27:33

标签: perl perl-module perltk

Perl/Tk MainWindow,在菜单栏中,如果我点击一个选项,那么我可以打开相同的模块两次,三次等等。但如果它已经打开,那么它不应该再打开一次。知道怎么做吗?

$mw = MainWindow->new;
$mw->configure(-menu =>  $menubar = $mw->Menu);
$bikes=$menubar->cascade(-label => '~Bikes');
$cars = $menubar->cascade(-label => '~Cars');


$cars->command(-label => 'Honda', -command=>\&honda_cars);
$cars->command(-label => 'Chevrolet',-command=>\&Chevrolet_cars);

$bikes->command(-label => 'Honda', -command=>\&honda_bikes);
$bikes->command(-label => 'Bajaj', -command=>\&bajaj_bikes);

现在,如果我点击雪佛兰,那么只要点击菜单栏中的选项,我就可以再次获得相同的窗口。我想检查它是否已经打开,然后它不应再打开。

1 个答案:

答案 0 :(得分:1)

您需要一个变量,由Chevrolet_cars子程序等设置,表明该页面是否已打开。

您没有说明应用程序的工作方式,但可以在不使用标志变量的情况下检测元素当前是否显示。