Hallo, Am Die, 16 Jan 2007, Torsten Foertsch schrieb:
On Tuesday 16 January 2007 17:26, Karl Brandt wrote:
Die sub soll nun aber auch angesprochen werden, wenn der Nutzer auf das kleine Kreuz (Fenster schließen) des KDE-Fensters klickt.
Das hat aber nur bedingt mit KDE zu tun. Unter anderen WMs läuft Tk ja auch. Ich hätte jetzt mit Perl/Qt gerechnet...
#!/usr/bin/perl use Tk;
... aber doch Tk.
$top=MainWindow->new(); $top->Button(-text => 'Fertich!', -command => \&programm_ende)->pack;
MainLoop; -1;
Wieso -1?
sub programm_ende() { print("Programm-Ende\n"); }
Kann evtl. einer helfen? "Mastering Perl/Tk" habe ich schon durchgeblättert
Seite 243: Window Properties
Du suchst nach $top->protocol(WM_DELETE_WINDOW, sub {programm_ende; $top->destroy;})
Das $top->destroy ist normalerweise überflüssig, das wird vom (auf _TK_EXIT_) umgebogenen 'exit' von Tk mit erledigt ;) Ich habe das hier IIRC mal auch über Signal-Handler oder so gemacht, das könnte man noch zusätzlich einbauen ;) $ perl -we ' use Tk; local $SIG{"TERM"} = \&ende; local $SIG{"INT"} = \&ende; $mw = new MainWindow; $mw->Button( -text => "Ferdsch", -command => \&ende )->pack; $mw->protocol("WM_DELETE_WINDOW", \&ende); MainLoop; 1; sub ende { print "Ende\n"; exit(0); } ' -dnh -- 181: Internet Das Internet ist durch die preußische Landordnung vorhergesagt worden. (BMJ-Mitarbeiter Dr. Matthias Korte interpretiert Bundesverwaltungsrichter Prof. Dr. Dr. Jörg Berkemann) -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: opensuse-de+help@opensuse.org