IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Python Discussion :

Tkinter : Garder la console en arrière plan [Python 3.X]


Sujet :

Python

  1. #1
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2015
    Messages
    67
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 29
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2015
    Messages : 67
    Points : 61
    Points
    61
    Par défaut Tkinter : Garder la console en arrière plan
    Bonjour à tous,

    J'ai créé un programme dans lequel j'utilise une fenêtre principale faisant office d'interface, et d'autres fenêtres additionnelles apparaissant et s'autodétruisant.
    Mais dès qu'une fenêtre additionnelle se ferme, la console repasse automatiquement devant ma fenêtre principale ... c'est horripilant

    J'ai créé un script pour palier à ce problème, mais pour l'instant je ne résous rien.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
     
    from tkinter import*
     
    def F1():
        global fen
        fen=Tk()
        fen.wm_title("Première fenêtre")
        lrg,htr=fen.winfo_reqwidth(),fen.winfo_reqheight()
        el,eh=fen.winfo_screenwidth(),fen.winfo_screenheight()
        fen.geometry("%dx%d+%d+%d"%(4*lrg,2*htr,(el-4*lrg)/2,(eh-2*htr)/2))
        F2()
        fen.mainloop()
     
    def F2():
        fen2=Tk()
        fen2.title("Seconde fenêtre")
        fen2.wm_attributes('-topmost',1)
        lrg,htr=fen2.winfo_reqwidth(),fen2.winfo_reqheight()
        el,eh=fen2.winfo_screenwidth(),fen2.winfo_screenheight()
        fen2.geometry("%dx%d+%d+%d"%(2*lrg,htr,(el-2*lrg)/2,(eh-htr)/2))
        fen2.after(2000,fen2.destroy)
        fen2.mainloop()
     
    F1()
    J'ai essayé avec Toplevel() qui ne donne rien non plus.

    Merci de m'avoir lu.

  2. #2
    Expert éminent sénior
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 240
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Architecte technique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2008
    Messages : 21 240
    Points : 36 696
    Points
    36 696
    Par défaut
    Salut,

    Normalement, on supprime la console en lançant le programme avec la variante pythonw.
    Sinon, on peut remettre la fenêtre principale "au dessus" lorsque la Toplevel est détruite.
    Exemple:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    # -*- coding:utf-8 -*-
    import tkinter as tk
     
    root = tk.Tk()
     
    w = tk.Toplevel()
    w.after(2000, w.destroy)
    root.wait_window(w)
    root.tkraise()
    tk.mainloop()
    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

  3. #3
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2015
    Messages
    67
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 29
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2015
    Messages : 67
    Points : 61
    Points
    61
    Par défaut
    Je ne connaissais pas l'option tkraise()
    Merci bien

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [XL-2013] Garder contrôle ActiveX en arrière plan
    Par Pico142 dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 30/09/2015, 16h03
  2. Réponses: 2
    Dernier message: 28/06/2013, 09h55
  3. Réponses: 3
    Dernier message: 24/06/2010, 15h50
  4. Réponses: 0
    Dernier message: 10/12/2009, 23h13
  5. Lancer sous la console dos un processus en arrière plan.
    Par ziad.shady dans le forum Scripts/Batch
    Réponses: 6
    Dernier message: 25/10/2009, 15h44

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo