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 :

Débutant : mise en forme grid et columnspan


Sujet :

Tkinter Python

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Août 2007
    Messages
    78
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 78
    Points : 43
    Points
    43
    Par défaut Débutant : mise en forme grid et columnspan
    Avec le code ci-dessous, je souhaite que label s'affiche en étant "espacé" de canvas
    j'en perds mon latin
    merci d'avance de votre aide

    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
    from tkinter import *
     
    root = Tk()
    root.title("Example")
    root.geometry("400x400")
    root.config(background='red')
    frame = Frame(root, height=250, width=250, bg="green")
    frame.grid_propagate(0)
    frame.grid()
     
    canvas = Canvas(frame, height=240, width=100, bg="grey")
    canvas.grid(row=0, column=0, rowspan=4)
     
    label = Label(frame, text="xxx", fg="blue", bg="yellow", width=5, height=2)
    label.grid(row=0, column=1, columnspan=2, sticky=E)
     
    root.mainloop()

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

    Citation Envoyé par aaristocat Voir le message
    Avec le code ci-dessous, je souhaite que label s'affiche en étant "espacé" de canvas
    j'en perds mon latin
    C'est bien joli mais çà veut dire quoi? Faites un dessin!

    - W

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Août 2007
    Messages
    78
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 78
    Points : 43
    Points
    43
    Par défaut
    voilà l'exemple
    Images attachées Images attachées  

  4. #4
    Invité
    Invité(e)
    Par défaut
    Citation Envoyé par aaristocat Voir le message
    Avec le code ci-dessous, je souhaite que label s'affiche en étant "espacé" de canvas
    j'en perds mon latin
    Bonsoir ,
    Je pense qu'il vous faut commencer par comprendre comment utiliser les paramètres de la méthode grid.
    columnspan vous permet de regrouper un widget sur plusieurs cellules. Tel qu'il est utilisé il n'a aucune action dans votre cas.

    Concernant l'espacement désiré entre le canvas et le label, vous pouvez l'obtenir en en intercalant un widget label par exemple entre les deux. Le choix de la couleur adaptée permettra de le rendre invisible à l'affichage.

    Vous devriez pouvoir trouver la solution assez facilement.

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Août 2007
    Messages
    78
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 78
    Points : 43
    Points
    43
    Par défaut
    à l'origine je l'ai fait avec un "spacer" mais je pensais plus propre d'utiliser columnspan pour placer le label colonne 1-2

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

    Pour pousser le label un peu à droite, il suffit d'ajouter un padx:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    label.grid(row=0, column=1, padx=50)
    - W

  7. #7
    Membre du Club
    Profil pro
    Inscrit en
    Août 2007
    Messages
    78
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 78
    Points : 43
    Points
    43
    Par défaut
    padx j'ai pensé mais le résultat ne correspond pas à mon souhait
    voilà ce que j’obtiens

    Nom : ex_forum.jpg
Affichages : 3049
Taille : 16,9 Ko

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

    Ce que vous montrez est plutôt ce que l'on obtient avec ipadx et non padx.
    En tous cas, padx fonctionne très bien chez moi et çà fonctionne comme décrit dans la documentation.

    Postez le code.

    - W
    Images attachées Images attachées  

  9. #9
    Invité
    Invité(e)
    Par défaut
    Citation Envoyé par wiztricks Voir le message
    Salut,

    Ce que vous montrez est plutôt ce que l'on obtient avec ipadx et non padx.
    En tous cas, padx fonctionne très bien chez moi et çà fonctionne comme décrit dans la documentation.

    Postez le code.

    - W
    Merci pour la remarque wiztricks. J'avais juste oublié padx qui au passage fonctionne également chez moi.

  10. #10
    Membre du Club
    Profil pro
    Inscrit en
    Août 2007
    Messages
    78
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 78
    Points : 43
    Points
    43
    Par défaut
    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
     
    from tkinter import *
     
    root = Tk()
    root.title("Example")
    root.geometry("400x400")
    root.config(background='red')
    frame = Frame(root, height=250, width=250, bg="green")
    frame.grid_propagate(0)
    frame.grid()
     
    canvas = Canvas(frame, height=240, width=100, bg="grey")
    canvas.grid(row=0, column=0, rowspan=4)
     
    label = Label(frame, text="xxx", fg="blue", bg="yellow", width=5, height=2, padx=50)
    label.grid(row=0, column=1)
     
    root.mainloop()
    j’obtiens le résultat posté précédemment, comme dans celte vidéo

  11. #11
    Expert éminent sénior
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 302
    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 302
    Points : 36 801
    Points
    36 801
    Par défaut
    Citation Envoyé par aaristocat Voir le message
    j’obtiens le résultat posté précédemment, comme dans celte vidéo
    Si je vous suggère de modifier la ligne:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    label.grid(row=0, column=1, padx=50)
    Ce n'est pas pour que vous modifiez la ligne précédente:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    label = Label(frame, ... padx=50)
    Et si çà ne fait pas pareil, c'est que çà ne fait pas la même chose.
    A vous de prendre le temps d'ouvrir une documentation sur Label et grid pour voir à quoi correspondent ces padx.

    - W

  12. #12
    Membre du Club
    Profil pro
    Inscrit en
    Août 2007
    Messages
    78
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 78
    Points : 43
    Points
    43
    Par défaut
    pourtan j'ai lu et relu la doc ci-jointe (http://tkinter.fdex.eu) sans réaliser mon erreur
    merci

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

    Citation Envoyé par aaristocat Voir le message
    pourtan j'ai lu et relu la doc ci-jointe (http://tkinter.fdex.eu) sans réaliser mon erreur
    C'est une documentation technique. Il ne suffit pas de la lire. Pour comprendre, il faut écrire du code et constater par soi même si çà fait ce que la documentation raconte.

    Sinon çà reste des "informations", des chaines de caractères qui passent devant les yeux sans plus d'importance (et les video youtube, c'est pire car c'est moins dense et on est aussi passif).

    En programmation on apprend avec la pratique et on comprend (un peu) lorsqu'on sait le faire.

    - W

Discussions similaires

  1. Réponses: 2
    Dernier message: 01/07/2019, 09h41
  2. [XSLT 1.0] débutant - Mise en forme document
    Par Rom1n02 dans le forum XSL/XSLT/XPATH
    Réponses: 8
    Dernier message: 20/01/2017, 22h56
  3. [LabView 8.5][Débutant] Mise en forme d'un signal
    Par geoffrey.ru dans le forum LabVIEW
    Réponses: 1
    Dernier message: 21/04/2008, 17h01
  4. [Débutant]-Mise en forme simpliste
    Par bdaboah dans le forum AWT/Swing
    Réponses: 4
    Dernier message: 24/12/2007, 17h32
  5. [Débutant] Mise en forme avec XSL
    Par sidahmed dans le forum XSL/XSLT/XPATH
    Réponses: 13
    Dernier message: 24/09/2007, 14h57

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