Comportement tcltk::tkmessageBox() normal ?

Postez ici vos questions, réponses, commentaires ou suggestions - Les sujets seront ultérieurement répartis dans les archives par les modérateurs

Modérateur : Groupe des modérateurs

Bastien Gamboa
Messages : 151
Enregistré le : 13 Jan 2011, 21:31

Comportement tcltk::tkmessageBox() normal ?

Messagepar Bastien Gamboa » 03 Oct 2017, 12:51

Bonjour,

Selon ce que je comprend de la fonction tkmessageBox() de la librairie tcltk, quand un tkmessageBox() est lancé, il doit être fermé pour que la console soit de nouveau accessible. Ainsi je pensais qu'aucun appel à R n'était possible après avoir ouvert un tkmessageBox() avant de l'avoir fermé.

Pourtant, l'exemple suivant permet de cliquer sur 'count' (et d'évaluer la fonction), même après avoir cliqué sur 'pause' sans avoir fermé le tkmessageBox().

Code : Tout sélectionner

require(tcltk)
aaa <- 0
tt <- tktoplevel()
tkpack(tkbutton(tt, text="count", command=function() print(aaa <<- aaa+1) ))
tkpack(tkbutton(tt, text="pause", command=function() tkmessageBox(icon="info", type="ok", message="C'est la sieste") ))

Avez-vous plus d'explications et/ou documentation pour ce comportement ?
En effet c'est un comportement que je souhaite utiliser, mais je préfère m'assurer que ce n'est pas un bug ou un biais afin de ne pas construire dessus.

Merci,
Bastien

Didier Plat
Messages : 225
Enregistré le : 02 Nov 2009, 16:47
Contact :

Re: Comportement tcltk::tkmessageBox() normal ?

Messagepar Didier Plat » 03 Oct 2017, 13:43

Bonjour,
Telle quelle est là, la fenêtre de message est créée indépendamment des fenêtres existantes et il n'y a pas d'interactions entre elles. Si vous voulez bloquer l'accès à la fenêtre tt, il faut déclarer cette dernière comme parent de la fenêtre de message :

Code : Tout sélectionner

tkpack(tkbutton(tt, text="pause", command=function() tkmessageBox(icon="info", type="ok", message="C'est la sieste", parent=tt) ))


Retourner vers « Questions en cours »

Qui est en ligne

Utilisateurs parcourant ce forum : Aucun utilisateur enregistré et 1 invité