Problème avec grid tkinter
Résolu/Fermé
Enz0lanterne828
Messages postés
50
Date d'inscription
mercredi 8 janvier 2020
Statut
Membre
Dernière intervention
21 mars 2020
-
Modifié le 17 janv. 2020 à 21:40
Enz0lanterne828 Messages postés 50 Date d'inscription mercredi 8 janvier 2020 Statut Membre Dernière intervention 21 mars 2020 - 18 janv. 2020 à 12:58
Enz0lanterne828 Messages postés 50 Date d'inscription mercredi 8 janvier 2020 Statut Membre Dernière intervention 21 mars 2020 - 18 janv. 2020 à 12:58
A voir également:
- Tkinter grid rowspan
- Montage photo grid - Télécharger - Montage photo
- Montage photo grid gratuit - Télécharger - Montage photo
- Logiciel photo grid - Télécharger - Montage photo
- Photo Collage Master - Télécharger - Montage photo
- Grid post - Guide
5 réponses
Bonsoir,
Pour indiquer qu'une cellule doit occuper plusieurs lignes, il est nécessaire d'utiliser le paramètre rowspan dans la méthode grid.
Pour indiquer qu'une cellule doit occuper plusieurs lignes, il est nécessaire d'utiliser le paramètre rowspan dans la méthode grid.
#Créer l'image # ... canvas.grid(row=0, column=0, rowspan=2) #Ajouter le texte # ... present.grid(row=0, column=1) #Ajouter le bouton Jouer # ... play_button.grid(row=1, column=1)
Enz0lanterne828
Messages postés
50
Date d'inscription
mercredi 8 janvier 2020
Statut
Membre
Dernière intervention
21 mars 2020
8
17 janv. 2020 à 22:20
17 janv. 2020 à 22:20
Merci, tout marche bien le texte et le bouton jouer mais l'image ne veut toujours pas descendre elle reste dans le coin en haut à gauche alors que je voudrais la mettre au milieu à gauche, avez-vous une solution ?
#Créer l'image width = 250 height = 250 image = PhotoImage(file="grhm.png").zoom(5).subsample(4) canvas = Canvas(base, width=width, height=height, bg='#6d071a', bd=0, highlightthickness=0) canvas.create_image(width/3, height/3, image=image) canvas.grid(column=0, rowspan=5) #Même si je modifies les valeurs si-dessus rien ne change à la position de l'image #Ajouter le texte present = Label(base, text="Bienvenue sur WarriorPvp", font=("Arial", 50), bg='#6d071a', fg='#18080b') present.grid(row=2, column=1) #Ajouter le bouton Jouer play_button = Button(base, text="JOUER", font=("Arial", 25), bg='#1b1798', fg='#18080b') play_button.grid(row=3, column=1)
Oui, il faut indiquer à l'aide des méthodes rowconfigure et columnconfigure la proportion de l'espace à occuper dans la frame parente.
Une autre petite chose, si tu ne veux pas que ta fenêtre soit redimensionnable, tu peux enlever le minsize et maxsize et ajouter un simple
base.rowconfigure(0, weight=1) base.rowconfigure(1, weight=1)
Une autre petite chose, si tu ne veux pas que ta fenêtre soit redimensionnable, tu peux enlever le minsize et maxsize et ajouter un simple
base.resizable(False, False).
Enz0lanterne828
Messages postés
50
Date d'inscription
mercredi 8 janvier 2020
Statut
Membre
Dernière intervention
21 mars 2020
8
17 janv. 2020 à 23:57
17 janv. 2020 à 23:57
Merci pour l'astuce mais ce n'est pas très précis.
Est-ce possible de placer avec plus de précision l'image et le texte ?
Et c'est toujours pareil mais en un peu mieux l'image cette fois-ci reste bloquée au milieu de l'écran et je ne peut pas la faire descendre plus.
Est-ce possible de placer avec plus de précision l'image et le texte ?
Et c'est toujours pareil mais en un peu mieux l'image cette fois-ci reste bloquée au milieu de l'écran et je ne peut pas la faire descendre plus.
Bonjour,
Désolé, mais je ne vois ce que tu désires obtenir, tu voulais placer ton image au milieu à gauche, ce que je t'ai proposé permet de le faire, si tu souhaites obtenir une autre disposition, alors il faut adapter, et si tu n'y arrives pas, fais un petit croquis sur une image pour que l'on visualise comment tes éléments doivent être disposés dans ta fenêtre.
Désolé, mais je ne vois ce que tu désires obtenir, tu voulais placer ton image au milieu à gauche, ce que je t'ai proposé permet de le faire, si tu souhaites obtenir une autre disposition, alors il faut adapter, et si tu n'y arrives pas, fais un petit croquis sur une image pour que l'on visualise comment tes éléments doivent être disposés dans ta fenêtre.
Enz0lanterne828
Messages postés
50
Date d'inscription
mercredi 8 janvier 2020
Statut
Membre
Dernière intervention
21 mars 2020
8
18 janv. 2020 à 12:24
18 janv. 2020 à 12:24
Cette fois-ci c'est le texte qui ne veut pas se placer correctement si je modifie la valeur de row et que je met 0 il se met trop haut et si je met 1 il se met trop bas.
Ce que je voulais dire c'est est-ce que il y a moyen de le mettre au centre de la fenêtre ?
Merci, Cordialement
Ce que je voulais dire c'est est-ce que il y a moyen de le mettre au centre de la fenêtre ?
Merci, Cordialement
Ce n'est pas en modifiant rows et columns que tu vas pouvoir changer la position des éléments, mais il y a aussi une façon en utilisant sticky, pad, padx, pady comme paramètres des méthodes grid pour ajuster aux petits soins.
Un exemple tout bête.
Un exemple tout bête.
import tkinter as tk base = tk.Tk() base.geometry("400x200") base.resizable(False, False) base.rowconfigure(0, weight=1) base.rowconfigure(1, weight=1) base.columnconfigure(1, weight=1) can = tk.Canvas(base, width=100, height=100, bg='yellow') can.grid(row=0, column=0, rowspan=2) can.create_text(50, 50, text='image', anchor=tk.CENTER) lib = tk.Label(base, text="un texte qui raconte") lib.grid(row=0, column=1, sticky=tk.S, pady=10) bt = tk.Button(base, text="Valider") bt.grid(row=1, column=1, sticky=tk.N, pady=10) base.mainloop()
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Enz0lanterne828
Messages postés
50
Date d'inscription
mercredi 8 janvier 2020
Statut
Membre
Dernière intervention
21 mars 2020
8
18 janv. 2020 à 12:58
18 janv. 2020 à 12:58
Merci j'ai compris et tout marche très bien.