Précédent   Forum du club des développeurs et IT Pro > Autres langages > Python & Zope > GUI
GUI Forum d'entraide sur les bibliothèques pour interfaces graphiques en Python
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse
 
Outils de la discussion
Publicité
'
Vieux 08/10/2012, 17h01   #1
pfeuh
Membre Expert
 
Développeur en systèmes embarqués
Inscription : mars 2006
Messages : 763
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 : 763
Points : 1 031
Points : 1 031
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
pfeuh est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/10/2012, 17h39   #2
fred1599
Membre Expert
 
Avatar de fred1599
 
Homme Fred
Enseignant
Inscription : juillet 2006
Messages : 1 304
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 304
Points : 1 796
Points : 1 796
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)
fred1599 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/10/2012, 19h02   #3
PauseKawa
Expert Confirmé
 
Avatar de PauseKawa
 
Homme Patrice BLANGARIN
Technicien Help Desk, maintenance, réseau, système et +
Inscription : juin 2006
Messages : 2 608
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 608
Points : 3 715
Points : 3 715
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.
PauseKawa est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/10/2012, 09h23   #4
pfeuh
Membre Expert
 
Développeur en systèmes embarqués
Inscription : mars 2006
Messages : 763
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 : 763
Points : 1 031
Points : 1 031
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
pfeuh est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/10/2012, 10h50   #5
fred1599
Membre Expert
 
Avatar de fred1599
 
Homme Fred
Enseignant
Inscription : juillet 2006
Messages : 1 304
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 304
Points : 1 796
Points : 1 796
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)
fred1599 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/10/2012, 11h12   #6
wiztricks
Expert Confirmé Sénior
 
Inscription : juin 2008
Messages : 3 690
Détails du profil
Informations forums :
Inscription : juin 2008
Messages : 3 690
Points : 4 518
Points : 4 518
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
wiztricks est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/10/2012, 12h02   #7
pfeuh
Membre Expert
 
Développeur en systèmes embarqués
Inscription : mars 2006
Messages : 763
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 : 763
Points : 1 031
Points : 1 031
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"
pfeuh est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/10/2012, 12h14   #8
wiztricks
Expert Confirmé Sénior
 
Inscription : juin 2008
Messages : 3 690
Détails du profil
Informations forums :
Inscription : juin 2008
Messages : 3 690
Points : 4 518
Points : 4 518
Salut,

Citation:
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
wiztricks est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/10/2012, 13h39   #9
pfeuh
Membre Expert
 
Développeur en systèmes embarqués
Inscription : mars 2006
Messages : 763
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 : 763
Points : 1 031
Points : 1 031
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"
pfeuh est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/10/2012, 13h52   #10
wiztricks
Expert Confirmé Sénior
 
Inscription : juin 2008
Messages : 3 690
Détails du profil
Informations forums :
Inscription : juin 2008
Messages : 3 690
Points : 4 518
Points : 4 518
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
wiztricks est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/10/2012, 14h42   #11
pfeuh
Membre Expert
 
Développeur en systèmes embarqués
Inscription : mars 2006
Messages : 763
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 : 763
Points : 1 031
Points : 1 031
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
pfeuh est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/10/2012, 16h17   #12
wiztricks
Expert Confirmé Sénior
 
Inscription : juin 2008
Messages : 3 690
Détails du profil
Informations forums :
Inscription : juin 2008
Messages : 3 690
Points : 4 518
Points : 4 518
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
wiztricks est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/10/2012, 17h08   #13
pfeuh
Membre Expert
 
Développeur en systèmes embarqués
Inscription : mars 2006
Messages : 763
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 : 763
Points : 1 031
Points : 1 031
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
pfeuh est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/10/2012, 22h01   #14
PauseKawa
Expert Confirmé
 
Avatar de PauseKawa
 
Homme Patrice BLANGARIN
Technicien Help Desk, maintenance, réseau, système et +
Inscription : juin 2006
Messages : 2 608
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 608
Points : 3 715
Points : 3 715
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.
PauseKawa est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 10/10/2012, 06h37   #15
PauseKawa
Expert Confirmé
 
Avatar de PauseKawa
 
Homme Patrice BLANGARIN
Technicien Help Desk, maintenance, réseau, système et +
Inscription : juin 2006
Messages : 2 608
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 608
Points : 3 715
Points : 3 715
'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.
PauseKawa est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 10/10/2012, 10h27   #16
pfeuh
Membre Expert
 
Développeur en systèmes embarqués
Inscription : mars 2006
Messages : 763
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 : 763
Points : 1 031
Points : 1 031
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
Type de fichier : zip test_windows.zip (4,2 Ko, 2 affichages)
pfeuh est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 10/10/2012, 10h55   #17
wiztricks
Expert Confirmé Sénior
 
Inscription : juin 2008
Messages : 3 690
Détails du profil
Informations forums :
Inscription : juin 2008
Messages : 3 690
Points : 4 518
Points : 4 518
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
wiztricks est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 10/10/2012, 11h35   #18
pfeuh
Membre Expert
 
Développeur en systèmes embarqués
Inscription : mars 2006
Messages : 763
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 : 763
Points : 1 031
Points : 1 031
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".
pfeuh est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 10/10/2012, 12h06   #19
wiztricks
Expert Confirmé Sénior
 
Inscription : juin 2008
Messages : 3 690
Détails du profil
Informations forums :
Inscription : juin 2008
Messages : 3 690
Points : 4 518
Points : 4 518
Salut,

Citation:
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
wiztricks est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 10/10/2012, 13h54   #20
pfeuh
Membre Expert
 
Développeur en systèmes embarqués
Inscription : mars 2006
Messages : 763
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 : 763
Points : 1 031
Points : 1 031
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...
pfeuh est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Cette discussion est résolue.
Outils de la discussion

Navigation rapide


Fuseau horaire GMT +2. Il est actuellement 17h11.


 
 
 
 
Partenaires

Hébergement Web