-1
votes

GUI avec tkinter

Démarrer avec l'interface graphique avec Tkinter mais il ne fonctionne pas

Traceback (most recent call last):
  File "guidemo1.py", line 4, in <module>
    thelabel = Label(root, "hello")
  File "C:\Users\Admin\AppData\Local\Programs\Python\Python37-32\lib\tkinter\__init__.py", line 2766, 

in __init__
    Widget.__init__(self, master, 'label', cnf, kw)
  File "C:\Users\Admin\AppData\Local\Programs\Python\Python37-32\lib\tkinter\__init__.py", line 2295, in __init__
    classes = [(k, v) for k, v in cnf.items() if isinstance(k, type)]

AttributeError: 'str' object has no attribute 'items'

J'obtiens l'erreur suivante:

from tkinter import *

root = Tk()
thelabel = Label(root, "hello")
thelabel.pack()
root.mainloop()


0 commentaires

3 Réponses :


1
votes

La documentation de Label indique que le deuxième argument est une liste et non une chaîne. Vous pouvez ignorer ce deuxième argument de position et utiliser le text argument de mot-clé:

thelabel = Label(root, text = "hello")


0 commentaires

0
votes

Au lieu de

theLabel = Label(root, text="hello")

Vous devez avoir utilisé le paramètre "texte" pour les libellés

thelabel = Label(root, "hello")


1 commentaires

Je pense que c'est un argument plutôt qu'un paramètre ici.



0
votes

le Label n'est pas fait correctement, le code doit être:

import tkinter

root = tk.Tk()
thelabel = tkinter.Label(root, text="hello")
thelabel.pack()
root.mainloop()

aussi, vous pouvez également utiliser à from tkinter import* , je le fais simplement comme ça, si vous le faites, changez également le libellé en Label(root, text="hello") et root en juste Tk()


2 commentaires

Ne devrait-il pas from tkinter import *


il y a d'autres façons, de tkinter import * est une option, mais je me sens juste à l'aise de le faire