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 :

Tkinter - Sticky [Python 3.X]


Sujet :

Tkinter Python

  1. #1
    Futur Membre du Club
    Inscrit en
    Mars 2012
    Messages
    10
    Détails du profil
    Informations forums :
    Inscription : Mars 2012
    Messages : 10
    Points : 7
    Points
    7
    Par défaut Tkinter - Sticky
    Bonjour,

    Je souhaite faire un écran de saisie avec Tkinter.
    J'aurai pas mal de champs/liste à positionner dans la fenêtre mais pour le moment je me contente bien comprendre Tkinter.
    Je sais qu'il y a d'autres GUI et pour le moment je préfère Tkinter disponible avec une installation par défaut de Python.

    En élargissant la fenêtre, je souhaiterai étendre à l'Est le 2 Entry (sticky) mais cela ne fonctionne pas. Et éventuellement, si j'ai 2 Entry en horizontal, étendre uniquement les 2 Entry :

    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
     
    from tkinter import *
    fenetre = Tk()
     
    label1 = Label(fenetre, text='champ 1 :', width = 10)
    label2 = Label(fenetre, text='champ 2 :', width = 10)
    ent1 = Entry(fenetre, width = 50)
    ent2 = Entry(fenetre, width = 50)
     
    label1.grid(row=0,column=0)
    ent1.grid(row=0,column=1, sticky=E)
    label2.grid(row=1,column=0)
    ent2.grid(row=1,column=1, sticky=E)
     
    fenetre.mainloop()
    Merci de vos éclaircissements.

  2. #2
    Expert éminent sénior
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 287
    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 287
    Points : 36 776
    Points
    36 776
    Par défaut
    Salut,

    Refaites votre exemple en mettant dans la première colonne un Label, une Entry et idem pour la deuxième colonne *et* un width de 5 pour les "Entry".

    note: vous fabriquez une grille avec des lignes et des colonnes où l'intersection sera occupée par des widgets qui prendront plus ou moins de place.
    Les "gros" widgets vont définir les dimensions de la ligne x colonne correspondante... est ce que les widgets plus petits occupent toute la place disponible? Faut-il les placer plus près d'un des bords ou au centre?

    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

  3. #3
    Futur Membre du Club
    Inscrit en
    Mars 2012
    Messages
    10
    Détails du profil
    Informations forums :
    Inscription : Mars 2012
    Messages : 10
    Points : 7
    Points
    7
    Par défaut
    Merci, Je ne suis pas sur d'avoir bien compris.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    from tkinter import *
    root = Tk()
     
    label1 = Label(root, text='champ 1 :')
    label2 = Label(root, text='champ 2 :')
    ent1 = Entry(root, width = 5)
    ent2 = Entry(root, width = 5)
     
    label1.grid(row=0,column=0)
    ent1.grid(row=1,column=0, sticky=E)
    label2.grid(row=0,column=1)
    ent2.grid(row=1,column=1, sticky=E)
     
    root.mainloop()
    Ce qui donne ca :

    Nom : sai.png
Affichages : 2229
Taille : 1,2 Ko

    L'idée c'est que si l'utilisateur étire la fenêtre, le Entry prennent tout l'espace disponible en largeur, que le label soit a gauche de l'Entry ou au dessus, il ne bouge pas.

  4. #4
    Futur Membre du Club
    Inscrit en
    Mars 2012
    Messages
    10
    Détails du profil
    Informations forums :
    Inscription : Mars 2012
    Messages : 10
    Points : 7
    Points
    7
    Par défaut
    En fin de compte, je viens de trouver :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    root.columnconfigure(0,weight=1)
    root.columnconfigure(1,weight=5)
    Ça résout mon problème.

    Merci beaucoup en tout cas wiztricks

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

Discussions similaires

  1. [Tkinter] ScrollBar et méthode set
    Par BlackPearl dans le forum Tkinter
    Réponses: 1
    Dernier message: 02/04/2005, 20h06
  2. [Tkinter]
    Par KymZen dans le forum Tkinter
    Réponses: 7
    Dernier message: 08/03/2005, 08h28
  3. [Tkinter] Binder le bouton de fermeture d'un Tk()
    Par jc_isd dans le forum Tkinter
    Réponses: 2
    Dernier message: 09/02/2005, 16h11
  4. Réponses: 3
    Dernier message: 26/10/2004, 07h31
  5. Réponses: 3
    Dernier message: 16/08/2004, 10h57

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