Publicité
+ Répondre à la discussion
Page 1 sur 2 12 DernièreDernière
Affichage des résultats 1 à 20 sur 32
  1. #1
    Membre Expert
    Profil pro
    Développeur en systèmes embarqués
    Inscrit en
    mars 2006
    Messages
    850
    Détails du profil
    Informations personnelles :
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Développeur en systèmes embarqués
    Secteur : Industrie

    Informations forums :
    Inscription : mars 2006
    Messages : 850
    Points : 1 138
    Points
    1 138

    Par défaut [tix] widget Checklist

    Salut,

    Malgré l'absence de doc adaptée aux développeurs python, je pense avoir compris comment marche ce widget. Par contre pour le passage de paramètres aux différentes enfants, c'est le flou total... Quelqu'un saurait par exemple comment changer la couleur globale du checklist ou mieux, de ses différents enfants?

    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    import Tix as tix
    win = tix.Tk()
    import sys
     
    def printSelected(tree):
        # pour la recursivite, on verra plus tard!
        for item in tree.hlist.info_children():
            sys.stdout.write("%s:%s\n"%(item, tree.getstatus(item)))
            for subitem in tree.hlist.info_children(item):
                sys.stdout.write("%s:%s\n"%(subitem.split('.')[-1], tree.getstatus(subitem)))
     
    tree = tix.CheckList(win)
    tree.grid()
    for section in ['Attributes', 'Attributes.Read', 'Attributes.Write', 'Attributes.Exec', 'Crc', 'utf-8', 'Interrupt']:
        tree.hlist.add(section, itemtype=tix.IMAGETEXT, text=section.split('.')[-1])
        tree.setstatus(section, "on")
        tree.open(section)
    tree.autosetmode()
    tix.Button(win, text='???', command=lambda:printSelected(tree)).grid()
    win.mainloop()
    A+

    Pfeuh

  2. #2
    Expert Confirmé
    Avatar de fred1599
    Homme Profil pro Fred
    Enseignant
    Inscrit en
    juillet 2006
    Messages
    1 807
    Détails du profil
    Informations personnelles :
    Nom : Homme Fred
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : juillet 2006
    Messages : 1 807
    Points : 2 782
    Points
    2 782

    Par défaut

    Il semblerait que les options soient les mêmes quelque-soit le widget, mais ne connaissant pas je vous laisse vérifier.
    Celui qui trouve sans chercher est celui qui a longtemps cherché sans trouver.(Bachelard)
    La connaissance s'acquiert par l'expérience, tout le reste n'est que de l'information.(Einstein)

  3. #3
    Expert Confirmé Avatar de PauseKawa
    Homme Profil pro Patrice BLANGARIN
    Technicien Help Desk, maintenance, réseau, système et +
    Inscrit en
    juin 2006
    Messages
    2 720
    Détails du profil
    Informations personnelles :
    Nom : Homme Patrice BLANGARIN
    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 720
    Points : 3 953
    Points
    3 953

    Par défaut

    Bonjour,

    Comme ceci ?
    Code :
    tree.hlist.config(bg='red', fg='blue', selectbackground='blue', selectforeground='red')
    De mémoire il supporte les options du Widget Frame.

    @+
    Merci d'utiliser le forum pour les questions techniques.

  4. #4
    Membre Expert
    Profil pro
    Développeur en systèmes embarqués
    Inscrit en
    mars 2006
    Messages
    850
    Détails du profil
    Informations personnelles :
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Développeur en systèmes embarqués
    Secteur : Industrie

    Informations forums :
    Inscription : mars 2006
    Messages : 850
    Points : 1 138
    Points
    1 138

    Par défaut

    Salut,

    Citation Envoyé par PauseKawa Voir le message
    Code :
    tree.hlist.config(bg='red', fg='blue', selectbackground='blue', selectforeground='red')
    Oui, c'est bien ce que je cherchais, merci beaucoup. Ce qui me gène, en fait, c'est que l'utilisation est quand même différente de Tkinter où j'aurais directement pu les passer en paramètres à la création du widget. Là, il faut utiliser la méthode config, que je découvre.

    A+

    Pfeuh

  5. #5
    Expert Confirmé
    Avatar de fred1599
    Homme Profil pro Fred
    Enseignant
    Inscrit en
    juillet 2006
    Messages
    1 807
    Détails du profil
    Informations personnelles :
    Nom : Homme Fred
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : juillet 2006
    Messages : 1 807
    Points : 2 782
    Points
    2 782

    Par défaut

    La méthode config est déjà existante avec tkinter...
    Celui qui trouve sans chercher est celui qui a longtemps cherché sans trouver.(Bachelard)
    La connaissance s'acquiert par l'expérience, tout le reste n'est que de l'information.(Einstein)

  6. #6
    Modérateur

    Homme Profil pro
    Architecte technique
    Inscrit en
    juin 2008
    Messages
    5 422
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Architecte technique
    Secteur : Industrie

    Informations forums :
    Inscription : juin 2008
    Messages : 5 422
    Points : 8 186
    Points
    8 186

    Par défaut

    Salut,

    Citation Envoyé par fred1599 Voir le message
    La méthode config est déjà existante avec tkinter...
    La surprise avec Tix, c'est la construction d'une composition de widgets.
    Tk, librairie graphique n'adresse pas ce sujet et ne propose que le basique: partir d'une Frame et insérer les subwidgets dedans.

    De fait, suivant la fonction du widget on pourrait configurer "globalement" et appliquer les items de configurations aux différents subwidgets, avoir des configurations spécifiques à chaque subwidget, effectuer un mix des deux.

    Pour comprendre, il faut arriver à lire la documentation TCL de Tix et les sources de l'interface Python pour voir comment cela a été mis en œuvre.
    Rien de très compliqué mais parfois décourageant.

    - W
    Architectures Post-Modernes

  7. #7
    Membre Expert
    Profil pro
    Développeur en systèmes embarqués
    Inscrit en
    mars 2006
    Messages
    850
    Détails du profil
    Informations personnelles :
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Développeur en systèmes embarqués
    Secteur : Industrie

    Informations forums :
    Inscription : mars 2006
    Messages : 850
    Points : 1 138
    Points
    1 138

    Par défaut

    Citation Envoyé par fred1599 Voir le message
    La méthode config est déjà existante avec tkinter...
    Certes, mais pour le moins redondante... Comme il existe au moins 3 ou 4 façons différentes d'accéder aux attributs, j'ai ignoré config jusqu'à présent.

    Citation Envoyé par wiztricks Voir le message
    Rien de très compliqué mais parfois décourageant.
    Tout à fait, décourageant, c'est le mot.

    Une autre chose de vraiment décourageante, c'est de me rendre compte qu'une fenêtre modale Tix, bien qu'isolée dans un script à part ne se mélange pas avec des objets Tkinter. Tant que j'appelle du standard, comme un Toplevel ou un Button, pas de problème, mais dès que j'appelle du spécifique Tix comme le CheckList, Tkinter qui était là en premier me pète une exception. Tkinter est pour moi inévitable puisque présent dans les bibliothèques d'import que j'utilise.

    Code :
    1
    2
     self.tk.call(widgetName, self._w, *extra)
    TclError: invalid command name "tixCheckList"

  8. #8
    Modérateur

    Homme Profil pro
    Architecte technique
    Inscrit en
    juin 2008
    Messages
    5 422
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Architecte technique
    Secteur : Industrie

    Informations forums :
    Inscription : juin 2008
    Messages : 5 422
    Points : 8 186
    Points
    8 186

    Par défaut

    Salut,

    Tkinter qui était là en premier me pète une exception. Tkinter est pour moi inévitable puisque présent dans les bibliothèques d'import que j'utilise.

    Code :
    1
    2
     self.tk.call(widgetName, self._w, *extra)
    TclError: invalid command name "tixCheckList"
    Je n'ai peut être pas tout compris mais...
    Pour que les widgets Tix soit définis (dans l'interpréteur Tk qui se cache dérrière tk.call) il faut initialiser le Tk de Tix et pas celui de Tk.
    En code:
    Code :
    1
    2
    3
    import Tkinter as tk
    import Tix as Tix
    root = tix.Tk() #et pas tk.Tk())
    Mais peut être c'est ce que vous faites déjà (et je n'ai pas compris la question)
    - W
    Architectures Post-Modernes

  9. #9
    Membre Expert
    Profil pro
    Développeur en systèmes embarqués
    Inscrit en
    mars 2006
    Messages
    850
    Détails du profil
    Informations personnelles :
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Développeur en systèmes embarqués
    Secteur : Industrie

    Informations forums :
    Inscription : mars 2006
    Messages : 850
    Points : 1 138
    Points
    1 138

    Par défaut

    Citation Envoyé par wiztricks Voir le message
    Mais peut être c'est ce que vous faites déjà
    Non, je ne le faisais pas, merci du tuyau, je comprends la logique de la chose. Donc je viens de le faire, en insérant les 2 lignes suivantes tout au début du script principal avant les imports:

    Code :
    1
    2
    import Tix as temptix
    win = temptix.Tk()
    Maintenant l'erreur claque sur sur la création d'un LabelFrame.

    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
      File "canOpen_configurator.py", line 157, in <module>
        spylog = canOpen.gui.CO_SPY_LOG(win)
      File "c:\python27\lib\site-packages\canOpen\gui.py", line 533, in __init__
        CO_LOG.__init__(self, container, None, 'Raw messages', **kwds)
      File "c:\python27\lib\site-packages\canOpen\gui.py", line 383, in __init__
        tk.LabelFrame.__init__(self, container, text=text, padx=5, pady=5)
      File "c:\python27\lib\lib-tk\Tix.py", line 1102, in __init__
        ['labelside','options'], cnf, kw)
      File "c:\python27\lib\lib-tk\Tix.py", line 326, in __init__
        Widget.config(self, cnf)
      File "c:\python27\lib\lib-tk\Tkinter.py", line 1202, in configure
        return self._configure('configure', cnf, kw)
      File "c:\python27\lib\lib-tk\Tkinter.py", line 1193, in _configure
        self.tk.call(_flatten((self._w, cmd)) + self._options(cnf))
    _tkinter.TclError: unknown option "-text"

  10. #10
    Modérateur

    Homme Profil pro
    Architecte technique
    Inscrit en
    juin 2008
    Messages
    5 422
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Architecte technique
    Secteur : Industrie

    Informations forums :
    Inscription : juin 2008
    Messages : 5 422
    Points : 8 186
    Points
    8 186

    Par défaut

    Hum, ca ne devrait pas être comme çà!

    La classe LabelFrame étant dans Tkinter et dans Tix, il faut préciser laquelle on veut. Dans la trace que vous fournissez, je ne comprends pas comment l'appel a tk.LabelFrame passe dans le tix.LabelFrame.
    Code :
    1
    2
    3
    4
    5
    6
      File "c:\python27\lib\site-packages\canOpen\gui.py", line 383, in __init__
        tk.LabelFrame.__init__(self, container, text=text, padx=5, pady=5)
      File "c:\python27\lib\lib-tk\Tix.py", line 1102, in __init__
        ['labelside','options'], cnf, kw)
      File "c:\python27\lib\lib-tk\Tix.py", line 326, in __init__
        Widget.config(self, cnf)
    C'est comme si la variable locale tk dans le module gui.py pointait sur le module Tix au lieu de Tkinter.
    Si vous faites le test "basique":
    Code :
    1
    2
    3
    4
    5
    >>> import Tkinter as tk
    >>> import Tix as tix
    >>> root = tix.Tk()
    >>> w = tk.LabelFrame(root, text='foo')
    >>> w.pack()
    Ca ne passe pas dans tix.LabelFrame (encore heureux) et "text" est bien accepté par le LabelFrame Tk.

    Comment, à quoi est assignée tk dans le module gui.py?
    - W
    Architectures Post-Modernes

  11. #11
    Membre Expert
    Profil pro
    Développeur en systèmes embarqués
    Inscrit en
    mars 2006
    Messages
    850
    Détails du profil
    Informations personnelles :
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Développeur en systèmes embarqués
    Secteur : Industrie

    Informations forums :
    Inscription : mars 2006
    Messages : 850
    Points : 1 138
    Points
    1 138

    Par défaut

    Citation Envoyé par wiztricks Voir le message
    Comment, à quoi est assignée tk dans le module gui.py?
    Euh... Je ne peux pas répondre car j'ai fait quelques modifications entre temps, en désespoir de cause Mais il y a fort à parier que c'était Tix. En tout cas merci, j'ai eu le déclic au sujet du mélange Tkinter/Tix. Ça semble cohabiter désormais sans réels problèmes.

    Il ne me reste plus que quelques histoires de fenêtres modales à résoudre. J'ai une fenêtre principale, Tix.Tk() et un nombre variable de fenêtres Toplevel, une par périphérique, les périphériques s'ajoutant et s'enlevant par l'utilisateur. On doit pouvoir à tout moment ajouter ou supprimer des objets dans les fenêtres des périphériques, d'où le Tix.CheckList en modal déclenché par un Toplevel.

    Mais à la sortie, les fenêtres sont totalement désorganisées, il y en a qui sont passées derrière toutes les autres, d'autres qui se retrouvent au premier plan , etc... Pire, La fenêtre qui est sensée être modale se retrouve derrière les autres... J'ai cru comprendre qu'il y avait une histoire de parent différent du container, bref, je vais investiguer de ce côté là. Encore merci pour tout.

    A+

    Pfeuh

  12. #12
    Modérateur

    Homme Profil pro
    Architecte technique
    Inscrit en
    juin 2008
    Messages
    5 422
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Architecte technique
    Secteur : Industrie

    Informations forums :
    Inscription : juin 2008
    Messages : 5 422
    Points : 8 186
    Points
    8 186

    Par défaut

    Salut,

    Une Toplevel n'est pas "modale" même si elle apparaît généralement "au dessus", par défaut. La FAQ Tk donne quelques indications pour faire çà.

    Avec plusieurs Toplevel, il va y avoir des chevauchements et certaines opérations pourront demander de redessiner toute la hiérarchie.
    Normalement, çà se redessine au bon endroit mais l'empilement suit l'ordre (z-order) de création des Toplevel même si l'utilisateur a changé ce "stacking" (ce qu'il voit à l'écran) suite à des clicks _dans_ les Toplevels.
    Les clicks donnent le focus et le focus "pousse" la Toplevel au dessus mais ne change pas le z-order: il faudrait faire un .raise.

    - W
    Architectures Post-Modernes

  13. #13
    Membre Expert
    Profil pro
    Développeur en systèmes embarqués
    Inscrit en
    mars 2006
    Messages
    850
    Détails du profil
    Informations personnelles :
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Développeur en systèmes embarqués
    Secteur : Industrie

    Informations forums :
    Inscription : mars 2006
    Messages : 850
    Points : 1 138
    Points
    1 138

    Par défaut

    Dès que j'ai un moment, je code un script minimaliste de ce que je voudrais faire, je crois que ce sera le plus clair.

    A+

    Pfeuh

  14. #14
    Expert Confirmé Avatar de PauseKawa
    Homme Profil pro Patrice BLANGARIN
    Technicien Help Desk, maintenance, réseau, système et +
    Inscrit en
    juin 2006
    Messages
    2 720
    Détails du profil
    Informations personnelles :
    Nom : Homme Patrice BLANGARIN
    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 720
    Points : 3 953
    Points
    3 953

    Par défaut

    Bonsoir,

    A partir du moment que vous connaissez .config(), et donc les options d'un Widget(subwidget), rien ne vous empêche de vous amuser.

    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    #!/usr/bin/env python
    # -*- coding: UTF-8 -*-
    #
    #
    import Tix as tix
     
     
    class ColorCheckList(tix.CheckList):
        coloroptions = ('highlightthickness', 'background', 'highlightcolor',
                        'selectbackground', 'foreground', 'bg', 'fg',
                        'highlightbackground', 'selectforeground')
     
        def __init__(self, master=None, cnf={}, **kw):
            # dict() > PO en Python 2.x.
            swoptions = dict([(k, kw.pop(k)) for k in kw.keys()
                              if k in self.coloroptions])
            tix.CheckList.__init__(self, master, kw)
            # Je ne refais pas le coup de swoptions... Délibérément explicite au possible.
            for w in self.subwidget_list.values():
                for k in swoptions.keys():
                    if k in w.config():
                         w[k] = swoptions[k]
     
     
    win = tix.Tk()
    tree = ColorCheckList(win, bg='red', fg='blue', selectbackground='blue', selectforeground='red')
    tree.grid()
    for section in ['Attributes', 'Attributes.Read', 'Attributes.Write', 'Attributes.Exec', 'Crc', 'utf-8', 'Interrupt']:
        tree.hlist.add(section, text=section.split('.')[-1])
        tree.setstatus(section, "on")
        tree.open(section)
    win.mainloop()
    @+
    Merci d'utiliser le forum pour les questions techniques.

  15. #15
    Expert Confirmé Avatar de PauseKawa
    Homme Profil pro Patrice BLANGARIN
    Technicien Help Desk, maintenance, réseau, système et +
    Inscrit en
    juin 2006
    Messages
    2 720
    Détails du profil
    Informations personnelles :
    Nom : Homme Patrice BLANGARIN
    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 720
    Points : 3 953
    Points
    3 953

    Par défaut

    'highlightthickness' Vive le cut/paste...

    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    #!/usr/bin/env python
    # -*- coding: UTF-8 -*-
    #
    #
    import Tix as tix
     
     
    class ColorCheckList(tix.CheckList):
        def __init__(self, master=None, cnf={}, **kw):
            coloroptions = ('background', 'highlightcolor', 'bg',
                            'highlightbackground', 'selectbackground',
                            'foreground', 'fg', 'selectforeground')
            swoptions = {}
            for k in kw.keys():
                if k in coloroptions:
                    swoptions[k] = kw[k]
                    if k in coloroptions[4:]:
                        kw.pop(k)
            tix.CheckList.__init__(self, master, kw)
            for w in self.subwidget_list.values():
                for k in swoptions.keys():
                    if k in w.config():
                         w[k] = swoptions[k]
     
     
    win = tix.Tk()
    tree = ColorCheckList(win, bg='red', fg='blue', selectbackground='blue', selectforeground='red')
    tree.grid()
    for section in ['Attributes', 'Attributes.Read', 'Attributes.Write', 'Attributes.Exec', 'Crc', 'utf-8', 'Interrupt']:
        tree.hlist.add(section, text=section.split('.')[-1])
        tree.setstatus(section, "on")
        tree.open(section)
    win.mainloop()
    Merci d'utiliser le forum pour les questions techniques.

  16. #16
    Membre Expert
    Profil pro
    Développeur en systèmes embarqués
    Inscrit en
    mars 2006
    Messages
    850
    Détails du profil
    Informations personnelles :
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Développeur en systèmes embarqués
    Secteur : Industrie

    Informations forums :
    Inscription : mars 2006
    Messages : 850
    Points : 1 138
    Points
    1 138

    Par défaut

    Salut,

    Voici le code minimaliste. En l'écrivant, j'ai compris quelques erreurs et j'ai donc corrigé, mais il doit en rester pas mal sur la gestion des fenêtres. Au lancement de l'application tout va bien, la fenêtre principale a le focus et elle est au dessus des autres, mais après, ça devient le Bronx...

    A+

    Pfeuh
    Fichiers attachés Fichiers attachés

  17. #17
    Modérateur

    Homme Profil pro
    Architecte technique
    Inscrit en
    juin 2008
    Messages
    5 422
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Architecte technique
    Secteur : Industrie

    Informations forums :
    Inscription : juin 2008
    Messages : 5 422
    Points : 8 186
    Points
    8 186

    Par défaut

    Salut,

    Citation Envoyé par pfeuh Voir le message
    Voici le code minimaliste. En l'écrivant, j'ai compris quelques erreurs et j'ai donc corrigé, mais il doit en rester pas mal sur la gestion des fenêtres. Au lancement de l'application tout va bien, la fenêtre principale a le focus et elle est au dessus des autres, mais après, ça devient le Bronx...
    Est ce que vous voulez que la fenêtre principale reste toujours au-dessus?
    - W
    Architectures Post-Modernes

  18. #18
    Membre Expert
    Profil pro
    Développeur en systèmes embarqués
    Inscrit en
    mars 2006
    Messages
    850
    Détails du profil
    Informations personnelles :
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Développeur en systèmes embarqués
    Secteur : Industrie

    Informations forums :
    Inscription : mars 2006
    Messages : 850
    Points : 1 138
    Points
    1 138

    Par défaut

    Citation Envoyé par wiztricks Voir le message
    Est ce que vous voulez que la fenêtre principale reste toujours au-dessus?
    Il faudrait définir "toujours", je pense que là, non, je détaille:

    Rajouter une fenêtre se fait par le bouton "ADD WINDOW" de la fenêtre principale. Dans ce cas, oui, il faudrait qu'après le rajout la fenêtre principale soit au dessus et ait le focus.

    Mais quand on change la liste des objets affichés d'une fenêtre "toto", on le fait à partir du bouton "SELECT OBJECTS" de la fenêtre "toto", donc après la sélection c'est "toto" qui devrait être au dessus et avoir le focus. Ça par contre, ça a l'air de se passer bien. Là je répondrai non, la fenêtre principale ne devrait ni être au dessus des autres ni avoir le focus puisque ce serait le rôle de "toto".

  19. #19
    Modérateur

    Homme Profil pro
    Architecte technique
    Inscrit en
    juin 2008
    Messages
    5 422
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Architecte technique
    Secteur : Industrie

    Informations forums :
    Inscription : juin 2008
    Messages : 5 422
    Points : 8 186
    Points
    8 186

    Par défaut

    Salut,

    Rajouter une fenêtre se fait par le bouton "ADD WINDOW" de la fenêtre principale. Dans ce cas, oui, il faudrait qu'après le rajout la fenêtre principale soit au dessus et ait le focus.
    Pourquoi ne pas le coder cela dans:
    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    def addWindow(win, fname, wins):
        config = ConfigParser.ConfigParser()
        config.read(fname)
        w = gui.WINDOW(win, config, None, fname, width=480, height=300)
        wins.append(w)
        win.deiconify()
        win.tkraise(w)
        win.focus_set()
    - W
    Architectures Post-Modernes

  20. #20
    Membre Expert
    Profil pro
    Développeur en systèmes embarqués
    Inscrit en
    mars 2006
    Messages
    850
    Détails du profil
    Informations personnelles :
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Développeur en systèmes embarqués
    Secteur : Industrie

    Informations forums :
    Inscription : mars 2006
    Messages : 850
    Points : 1 138
    Points
    1 138

    Par défaut

    Citation Envoyé par wiztricks Voir le message
    Pourquoi ne pas le coder cela dans:
    Parce que je ne connaissais pas... Ça fait exactement ce que je cherche. Comme je n'ai pas cette culture, je m'embrouille avec tkraise, lift etc...

+ Répondre à la discussion
Cette discussion est résolue.
Page 1 sur 2 12 DernièreDernière

Liens sociaux

Règles de messages

  • Vous ne pouvez pas créer de nouvelles discussions
  • Vous ne pouvez pas envoyer des réponses
  • Vous ne pouvez pas envoyer des pièces jointes
  • Vous ne pouvez pas modifier vos messages
  •