Python [méthode .pack()]
Résolu/Fermé
Utilisateur anonyme
-
11 mai 2006 à 10:48
sebsauvage Messages postés 32893 Date d'inscription mercredi 29 août 2001 Statut Modérateur Dernière intervention 21 octobre 2019 - 11 mai 2006 à 17:17
sebsauvage Messages postés 32893 Date d'inscription mercredi 29 août 2001 Statut Modérateur Dernière intervention 21 octobre 2019 - 11 mai 2006 à 17:17
A voir également:
- Python pack()
- Driver pack - Télécharger - Divers Utilitaires
- Citizen code python avis - Accueil - Outils
- Pack office pas cher - Guide
- Pack office gratuit - Guide
7 réponses
sebsauvage
Messages postés
32893
Date d'inscription
mercredi 29 août 2001
Statut
Modérateur
Dernière intervention
21 octobre 2019
15 659
11 mai 2006 à 11:08
11 mai 2006 à 11:08
.pack() ?
Je ne l'utilise pas.
Si je peux te donner un conseil: utilise exclusivement .grid()
Grid possède en plus les attributs sticky (NSEW) assez pratiques.
(Attention: ne jamais mélanger .pack() et .grid())
Je ne l'utilise pas.
Si je peux te donner un conseil: utilise exclusivement .grid()
Grid possède en plus les attributs sticky (NSEW) assez pratiques.
(Attention: ne jamais mélanger .pack() et .grid())
sebsauvage
Messages postés
32893
Date d'inscription
mercredi 29 août 2001
Statut
Modérateur
Dernière intervention
21 octobre 2019
15 659
11 mai 2006 à 15:10
11 mai 2006 à 15:10
Vérifie bien quel parent tu donne à chaque wiget que tu créé.
Parfois, en donnant le mauvais parent, il y a des superpositions.
En principe, tkinter s'arrange pour déterminer automatiquement la bonne taille de fenêtre en fonction de la taille de chaque widget.
Sinon là comme ça, je peux pas te dire ce qui ne va pas.
Parfois, en donnant le mauvais parent, il y a des superpositions.
En principe, tkinter s'arrange pour déterminer automatiquement la bonne taille de fenêtre en fonction de la taille de chaque widget.
Sinon là comme ça, je peux pas te dire ce qui ne va pas.
Utilisateur anonyme
11 mai 2006 à 16:08
11 mai 2006 à 16:08
Si tu pouvais jeter un oeil à mon code :
Rien que ça, je ne vois pas mes groupes entièrement.
Je distingue juste 'Ic' du 2ème groupe et rien du premier groupe.
Merci
notebook = Pmw.NoteBook(self.root) self._widgets['main_notebook'] = notebook notebook.grid(column=0,row=0,sticky='NSWE') ## Add the "Appearance" page to the notebook ## for name in ("Data", "Trace", "Exit") : page = notebook.add(name) ## Create the group menu ## ## Cell 1 - Input group_input = Pmw.Group(notebook.page(0), tag_text='Input') group_input.grid(column = 0, row = 1, columnspan = 2, sticky ='NSEW', padx = defaultPadding, pady = defaultPadding, ipadx = defaultPadding, ipady = defaultPadding) ## Cell 2 - Iccap Param group_iccap = Pmw.Group(notebook.page(0), tag_text='Iccap Param') group_iccap.grid(column = 1, row = 1, rowspan = 2, sticky ='NSEW', padx = defaultPadding, pady = defaultPadding, ipadx = defaultPadding, ipady = defaultPadding)
Rien que ça, je ne vois pas mes groupes entièrement.
Je distingue juste 'Ic' du 2ème groupe et rien du premier groupe.
Merci
sebsauvage
Messages postés
32893
Date d'inscription
mercredi 29 août 2001
Statut
Modérateur
Dernière intervention
21 octobre 2019
15 659
11 mai 2006 à 16:23
11 mai 2006 à 16:23
C'est parceque tes groupes sont vides.
Chaque conteneur (groupe, frame, page...) s'adapte automatiquement à la taille de ce qu'on lui demande de contenir.
Il suffit donc de les remplir.
Exemple:
Par contre, je ne comprend pas pourquoi tu fais un rowspan (je l'ai supprimé dans le code ci-dessus).
Chaque conteneur (groupe, frame, page...) s'adapte automatiquement à la taille de ce qu'on lui demande de contenir.
Il suffit donc de les remplir.
Exemple:
import Tkinter import Pmw class myApplication: def __init__(self,root): self.root = root self._widgets = {} self.initialisation() def initialisation(self): notebook = Pmw.NoteBook(self.root) self._widgets['main_notebook'] = notebook notebook.grid(column=0,row=0,sticky='NSWE') for name in ("Data", "Trace", "Exit") : page = notebook.add(name) group_input = Pmw.Group(notebook.page(0), tag_text='Input') group_input.grid(column = 0, row = 0,sticky ='NSEW') group_iccap = Pmw.Group(notebook.page(0), tag_text='Iccap Param') group_iccap.grid(column = 1, row = 0,sticky ='NSEW') Tkinter.Button(group_input.interior(),text="coucou1*************").grid(column=0,row=0) Tkinter.Button(group_iccap.interior(),text="coucou2**************").grid(column=0,row=0) def main(): root = Tkinter.Tk() root.title('My application') app = myApplication(root) root.mainloop() if __name__ == "__main__": main()
Par contre, je ne comprend pas pourquoi tu fais un rowspan (je l'ai supprimé dans le code ci-dessus).
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
sebsauvage
Messages postés
32893
Date d'inscription
mercredi 29 août 2001
Statut
Modérateur
Dernière intervention
21 octobre 2019
15 659
11 mai 2006 à 16:24
11 mai 2006 à 16:24
(oups, dans mon exemple, remettre les deux Tkinter.Button(...) au même niveau que group_iccap.grid(...)
sebsauvage
Messages postés
32893
Date d'inscription
mercredi 29 août 2001
Statut
Modérateur
Dernière intervention
21 octobre 2019
15 659
11 mai 2006 à 16:25
11 mai 2006 à 16:25
Le petit exemple donne ça:
https://imageshack.com/
https://imageshack.com/
En effet dans le code que j'ai donné, je n'ajoutais aucune valeur. Mais dans mon vrai code, je le faisais.
En fait, j'ai supprimé columnspan et rowspan et ça a l'air de fonctionner.
Comme tu l'utilisais dans ton code, je l'avais mis aussi (ça m'apprendra à réfléchir un peu plus..)
Je finis mes tests et je posterai un message pour dire si ça marche.
Enocre merci
En fait, j'ai supprimé columnspan et rowspan et ça a l'air de fonctionner.
Comme tu l'utilisais dans ton code, je l'avais mis aussi (ça m'apprendra à réfléchir un peu plus..)
Je finis mes tests et je posterai un message pour dire si ça marche.
Enocre merci
sebsauvage
Messages postés
32893
Date d'inscription
mercredi 29 août 2001
Statut
Modérateur
Dernière intervention
21 octobre 2019
15 659
11 mai 2006 à 17:17
11 mai 2006 à 17:17
Good.
11 mai 2006 à 11:21
J'avais trouvé des exemples avec Pmw où la méthode .pack() était utilisée.
Donc je vais essayer de résoudre monproblème avec la méthode .grid()
11 mai 2006 à 14:52
J'ai bien regardé tes codes sources pour ton logiciel webgobbler (notamment le fichier webgobbler_config.py).
J'ai essayé de m'en inspirer pour refaire mon interface graphique.
Le problème est que les différentes pagedu notebook m'enpêche de voir toutes mes informations.
En fait dans la première de mon notebook (notebook.page(0), j'ai 4 groupes (définis avec Pmw.Group). Un en haut à gauche, un en haut à droite, un en bas à gauche et un en bas à droite. Pour ça, j'ai utilisé :
column = 0, row = 1
column = 0, row = 2
column = 1, row = 1
column = 1, row = 2
Mais les groupes de droite viennent se superposer sur ceux de gauche, et les groupes du bas sont coupés car notebook.page(0) n'est pas assez grande.
Y'a quelque chose que j'oublie de faire?
Merci