python中tkinter中新手一个常见的错误

from tkinter import *

a = Label(text = 'hello').pack()

a.mainloop()

这样的写法会导致AttributeError: 'NoneType' object has no attribute 'mainloop'

原因如下:

a = Label(text = 'hello').pack()看似将a指向一个Label,其实并不是。a指向的是pack()返回的一个None,

所以就导致了上述错误。所以a = Label(text = 'hello').pack是一种非常不好的书写方法。要么直接使用Labe(text  = 'hello').pack()

要么:

a = Label(text = 'hell0')

a.pack()

 

你可能感兴趣的