Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

[tk] faire le ménage à la fin

4 réponses
Avatar
Manuel Pégourié-Gonnard
Bonjour,

Dans une application Perl/Tk, j'aimerais pouvoir effectuer un peu de
nettoyage lorsque l'utilisateur ferme la fenêtre en utilisant son
gestionaire de fenêtre (par exemple en faisant Alt-F4 sous windows).

J'imagine qu'il doit y avoir un hook pour ça, mais je ne suis pas
arriver à trouver ça sous google ou dans la doc (sûrement un mot-clé
évident qui m'a échappé).

Merci d'avance pour vos indications !

--
Manuel Pégourié-Gonnard Institut de mathématiques de Jussieu
http://weblog.elzevir.fr/ http://people.math.jussieu.fr/~mpg/

4 réponses

Avatar
jl_morel
Dans l'article <i14i23$v67$, a dit...

Dans une application Perl/Tk, j'aimerais pouvoir effectuer un peu de
nettoyage lorsque l'utilisateur ferme la fenêtre en utilisant son
gestionaire de fenêtre (par exemple en faisant Alt-F4 sous windows).

J'imagine qu'il doit y avoir un hook pour ça, mais je ne suis pas
arriver à trouver ça sous google ou dans la doc (sûrement un mot-clé
évident qui m'a échappé).




Il faut utiliser la méthode protocol :

$mw->protocol('WM_DELETE_WINDOW' => &Routine_de_fermeture);

La routine sera appelée quand on fermera la fenêtre.
C'est à la routine de gérer la destruction de la fenêtre si on veut fermer
l'application.

Voila un petit script démo :

#!/usr/bin/perl
use strict;
use warnings;
use Tk;

my $mw = MainWindow->new();

$mw->protocol( 'WM_DELETE_WINDOW' => &OnFerme );

MainLoop();

sub OnFerme {
my $rep = $mw->messageBox(
-icon => 'warning',
-type => 'YesNo',
-default => 'no',
-title => 'Quitter',
-message => "Voulez-vous quitter ?"
);
if ( $rep eq 'Yes' ) { $mw->destroy; return }
}
__END__


HTH

--
J-L.M.
http://www.bribes.org/perl
Avatar
Manuel Pégourié-Gonnard
Jean-Louis MOREL scripsit :

Il faut utiliser la méthode protocol :

$mw->protocol('WM_DELETE_WINDOW' => &Routine_de_fermeture);

La routine sera appelée quand on fermera la fenêtre.
C'est à la routine de gérer la destruction de la fenêtre si on veut fermer
l'application.



Merci, c'est précisément ce que je cherchais.

Simple curiosité, à quel endroit est documentée la méthode protocol,
histoire que je puisse jeter un oeil à la liste des options pour ma
culture ?

--
Manuel Pégourié-Gonnard Institut de mathématiques de Jussieu
http://weblog.elzevir.fr/ http://people.math.jussieu.fr/~mpg/
Avatar
Jerome Quelin
Manuel Pégourié-Gonnard wrote:
Simple curiosité, à quel endroit est documentée la méthode protocol,
histoire que je puisse jeter un oeil à la liste des options pour ma
culture ?



perldoc Tk::Wm

jérôme
--

Avatar
Manuel Pégourié-Gonnard
Jerome Quelin scripsit :

Manuel Pégourié-Gonnard wrote:
Simple curiosité, à quel endroit est documentée la méthode protocol,
histoire que je puisse jeter un oeil à la liste des options pour ma
culture ?



perldoc Tk::Wm



Merci !

--
Manuel Pégourié-Gonnard Institut de mathématiques de Jussieu
http://weblog.elzevir.fr/ http://people.math.jussieu.fr/~mpg/