Bonjour,
Est-il possible d'empêcher l'utilisateur d'iconifier une fenêtre en utilisant la touche - ou tout au moins de détecter ce changement (comme il est possible de le faire pour la croix avec protocol) ?
Bonjour,
Est-il possible d'empêcher l'utilisateur d'iconifier une fenêtre en utilisant la touche - ou tout au moins de détecter ce changement (comme il est possible de le faire pour la croix avec protocol) ?
bonsoir,
et si tu enlevé la barre de ta fenetre. Plus de bouton, plus d'iconification!
Merci pour le conseil mais je ne vois pas comment... Peux-tu m'en dire un peu plus.
Je reviens sur ce problème car je n'ai toujours pas trouvé la réponse idéale.
Mon problème est que j'oblige l'utilisateur à cliquer sur la toplevel que je viens
de créer : self.toplevel1.grab_set() . Mais si celui-çi "s'amuse" à cliquer dans la barre des titres sur l'icone Réduire, la toplevel disparaît et entraîne ainsi un blocage.
C'est pourquoi j'aurais voulu repérer le click sur le bouton Réduire. Si quelqu'un a une solution....
une solution est de créer une fonction qui intercepte l'iconification de la fenetre et qui dans ce cas lance la deiconification.
pas testé mais ca doit pouvoir ce faire.
regarde du coté de w.protocol(), pour savoir si on peut récupérer l'évènement du clique sur le bouton d'iconification.
A+
J'ai déjà regardé mais je n'ai rien trouvé.
J'ai trouvé également :
self.toplevel1.wm_resizable(0, 0) ---> pour neutraliser le bouton agrandir
mais ce n'est pas ce que je recherche.
Je pensais aussi avoir la solution avec
self.toplevel1.minsize(50,50) ---> mais c'est sans effet
regardes si tu ne peux pas faire un thread qui boucle sur une fonction qui test le status de ta toplevel
ca te retourne soit normal si la fentre est affichée, soit iconic si elle est iconifier.
Code : Sélectionner tout - Visualiser dans une fenêtre à part self.top.state()
aprés faut faire un truc du genre:
pas testé mais peut être que ca doit le faire.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 if self.top.state()=='iconic': self.top.deiconify()
A+
effectivement c'est la solution que j'adopte :
Merci pour ton aide. Je laisse toutefois ce sujet ouvert de manière à pouvoir y apporter d'autres suggestions...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 self.f2() def f2(self): if self.ma_topplevel.state()=='iconic' : self.ma_topplevel.deiconify() self.ma_topplevel.after(500,self.f2)
Bonjour,
devrait résoudre ton problème.
Code : Sélectionner tout - Visualiser dans une fenêtre à part self.ma_topplevel.transient(fenetre_parente)
La toplevel sera associée à la fenêtre parente, sans icône dans la barre des tâches.
Oui ça marche. Ma toplevel est affichée sans les boutons Réduire et Agrandir.
C'est super. Merci et désolé pour le retard dans la réponse.
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager