Начало работы с графическим интерфейсом с Tkinter, но он не работает
from tkinter import *
root = Tk()
thelabel = Label(root, "hello")
thelabel.pack()
root.mainloop()
Я получаю следующую ошибку:
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'
документация для Label
говорит, что второй аргумент — это список, а не строка. Вы можете пропустить этот второй позиционный аргумент и использовать аргумент ключевого слова text
:
thelabel = Label(root, text = "hello")
Вместо
thelabel = Label(root, "hello")
Вы должны были использовать аргумент «текст» для меток
theLabel = Label(root, text = "hello")
Label
выполнен неправильно, код должен быть:
import tkinter
root = tk.Tk()
thelabel = tkinter.Label(root, text = "hello")
thelabel.pack()
root.mainloop()
Кроме того, вы также можете использовать from tkinter import*
, я просто делаю это так, если вы это сделаете, также измените метку на Label(root, text = "hello")
и корень просто на Tk()
Не должно быть from tkinter import *
есть и другие способы, из tkinter import * это вариант, но я просто чувствую себя комфортно, делая это
Я думаю, что это аргумент, а не параметр здесь.