有沒有辦法讓Perl/Tk窗口的關閉('X')按鈕被禁用? 我知道如何忽略它使用here描述的技術點擊它,但我寧願讓它被禁用。如何禁用Windows上的Perl/Tk窗口關閉('X')按鈕
我在Windows上使用Perl/Tk。
感謝,
splintor
有沒有辦法讓Perl/Tk窗口的關閉('X')按鈕被禁用? 我知道如何忽略它使用here描述的技術點擊它,但我寧願讓它被禁用。如何禁用Windows上的Perl/Tk窗口關閉('X')按鈕
我在Windows上使用Perl/Tk。
感謝,
splintor
我有一個應用程序,我寫的,我想知道同樣的事情,我不disableit,但我有一個回調到子程序,還是隻是因爲return;
$Mw->protocol('WM_DELETE_WINDOW',sub{return;});
根據the Perl Monks,它看起來像在Windows以下工作:
#!/usr/bin/perl
use warnings;
use strict;
use Tk;
my $window = new MainWindow;
$window ->title("Close test");
$window ->geometry("400x250");
#prevents window from closing
$window->protocol('WM_DELETE_WINDOW' => sub {
print "Do stuff before exiting\n";
exit;
});
MainLoop;
在上面的代碼,你攔截髮送的信號時,當按下按鈕,用戶按下「X」,然後可以編寫自己的子程序執行。
如果你想關閉的關閉圖標,設置sub
空(有效地告訴它「按下時什麼都不做」):'WM_DELETE_WINDOW' => sub {}
如果不設法真正禁用關閉按鈕(我的意思是將它變灰,甚至將其從窗飾中移除),它可能是最直觀的圖標化窗口而不是關閉窗口。這就是我所做的。
$window->protocol('WM_DELETE_WINDOW', sub { $window->iconify(); });
謝謝,但我在Windows上。 – splintor 2009-02-05 21:05:07