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

Tkinter Python Discussion :

rester au dessus d'une autre fenetre


Sujet :

Tkinter Python

  1. #1
    Membre éprouvé
    Inscrit en
    Août 2010
    Messages
    1 124
    Détails du profil
    Informations forums :
    Inscription : Août 2010
    Messages : 1 124
    Points : 1 277
    Points
    1 277
    Par défaut rester au dessus d'une autre fenetre
    Bonjour,

    Je voudrais que mes fenêtres Tk restent affichés au dessus d'une fenêtre principale, crée avec pygame, même lorsque cette dernière acquiert le focus.

    1/ Existe-t'il un moyen simple de procéder ?
    2/ Je pensais procéder au niveau des events, en faisant que pygame_window.focus appelle subwindow_tk.set_focus. Cela vous semble-t'il une bonne stratégie ?
    3/ Idéalement, il faudrait que ça marche également lorsque la fenêtre pygame est en fullscreen.

    Merci d'avance

  2. #2
    Expert confirmé Avatar de PauseKawa
    Homme Profil pro
    Technicien Help Desk, maintenance, réseau, système et +
    Inscrit en
    Juin 2006
    Messages
    2 725
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Technicien Help Desk, maintenance, réseau, système et +
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2006
    Messages : 2 725
    Points : 4 005
    Points
    4 005
    Par défaut
    Bonjour,

    Vous avez topmost dans les attributes
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    >>> import Tkinter
    >>> root = Tkinter.Tk()
    >>> root.attributes()
    ('-alpha', 1.0, '-transparentcolor', '', '-disabled', 0, '-fullscreen', 0, '-too
    lwindow', 0, '-topmost', 0)
    Il suffit de le mettre à 1
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    >>> import Tkinter
    >>> root = Tkinter.Tk()
    >>> root.attributes('-topmost', 1)
    @+

  3. #3
    Membre éprouvé
    Inscrit en
    Août 2010
    Messages
    1 124
    Détails du profil
    Informations forums :
    Inscription : Août 2010
    Messages : 1 124
    Points : 1 277
    Points
    1 277
    Par défaut
    Merci bcp PauseKawa, c'est nickel

    Par contre pour lorsque ma main window pygame perds le focus, je voudrais que que les fenêtres Tk soient réduites, et inversement lorsqu'elle gagne le focus.

    Suis-je obliger de modifier dynamiquement -topmost lors d'un event de focus sur ma main_pygame_window, ou existe-t'il la aussi un moyen magique de procéder ?

  4. #4
    Expert confirmé Avatar de PauseKawa
    Homme Profil pro
    Technicien Help Desk, maintenance, réseau, système et +
    Inscrit en
    Juin 2006
    Messages
    2 725
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Technicien Help Desk, maintenance, réseau, système et +
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2006
    Messages : 2 725
    Points : 4 005
    Points
    4 005
    Par défaut
    Bonjour,

    Comme cela ?
    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
    try:
        import Tkinter as Tk
    except:
        import tkinter as Tk
     
    root = Tk.Tk()
    root.wm_attributes('-fullscreen', 1)
    root['bg']='black'
    Tk.Button(root, text='Quit', command=root.quit).pack(padx=5,
                                                         pady=5,
                                                         side=Tk.BOTTOM)
     
    top = Tk.Toplevel(root)
    # Juste pour avoir un Widget qui prend de la 'place'
    txt = Tk.Text(top, state=Tk.DISABLED)
    txt.pack()
    top.transient(root) # <
     
    root.mainloop()
    @+

Discussions similaires

  1. ouvrir une page web dans une autre fenetre
    Par griese dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 07/06/2006, 11h32
  2. [C#][Débutant] Comment lancer une methode d'une autre fenetre
    Par Cazaux-Moutou-Philippe dans le forum Windows Forms
    Réponses: 5
    Dernier message: 30/04/2006, 23h17
  3. [C#] Ouvrir un fichier PDF dans une autre fenetre
    Par ZePostman dans le forum ASP.NET
    Réponses: 3
    Dernier message: 15/03/2006, 13h41
  4. ADROTATOR, Ouvrir la pub dans une autre fenetre
    Par ahage4x4 dans le forum ASP
    Réponses: 4
    Dernier message: 10/02/2006, 16h24
  5. Afficher les élements d'un formulaire dans une autre fenetre
    Par BernardT dans le forum Général JavaScript
    Réponses: 5
    Dernier message: 11/12/2005, 22h52

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