Ne pas perdre le focus lors d'un appel a messagebox.showinfo (tkinter)

a marqué ce sujet comme résolu.

Bonjour, je suis en train de faire un petit programme qui utilise tkinter.

Je rencontre un problème de perte de focus sur ma fenetre nommé new_windows.

En fait j’appelle

messagebox.showinfo("info","mon message")

Je vais essayer d’expliquer le problème:

J’ouvre mon programme, ma fenêtre principale s’ouvre, je clique sur configuration, ma fenêtre configuration s’ouvre bien.

A un moment donné j’ouvre un messagebox et la je perds le focus sur ma page configuration.

Je crée ma fenêtre comme ceci:

    new_window_add_plate = Toplevel(root)
    new_window_add_plate.grab_set()  # garder le focus sur la fenetre
    new_window_add_plate.title("Ajouter plaque a la liste noire")
    new_window_add_plate.geometry("640x480")  # Définir la taille de la nouvelle fenêtre`

J’ai trouvé une parade en utilisant:

new_window_add_plate.grab_set()

Se qui fonctionne en partie car ma fenêtre configuration perd le focus et affiche le messagebox au dessus de ma fenêtre principale.

Lorsque je valide le checkbox je recupere le focus sur la fenêtre de configuration.

Auriez vous une idée sur comment éviter de perdre le focus?

Voici une 2 images plus parlantes:

Perte de focus

Image utilisateur
Image utilisateur

Recuperation du focus:

Image utilisateur
Image utilisateur
+0 -0

J’ai l’impression que le souci vient du fait que tu as une fenêtre mère (« Test ») et une fenêtre fille (« Configuration ») et que la messagebox dépend de la mère et non de la fille (donc redonne le focus à la mère).

Je ne suis pas sûr de reproduire le problème chez moi, mais s’il s’agit bien de ça alors tu pourrais donner un argument master=... à la messagebox pour choisir de quelle fenêtre elle dépend.

Oui c’est sa, j’ai entre temps trouvé la solution:

je fais un truc comme ceci et sa marche:

    messagebox.showinfo("info", "Configuration enregistrée",parent = new_window_add_plate)

Avec parent = la fenetre en cours

Au sujet de master j’ai rien trouvé a ce sujet

+2 -0
Connectez-vous pour pouvoir poster un message.
Connexion

Pas encore membre ?

Créez un compte en une minute pour profiter pleinement de toutes les fonctionnalités de Zeste de Savoir. Ici, tout est gratuit et sans publicité.
Créer un compte