TypeError:“ NoneType”对象不支持项目分配?


问题内容

因此,我使用“文件选择”和“执行”按钮启动了根屏幕。转到按钮已禁用,我想在选择文件后使其变为活动状态。当我选择文件时,go应该变为活动状态,但此错误“
TypeError:’NoneType’对象不支持项目分配”这是一些示例代码

import Tkinter
import tkFileDialog

def chooseDir():
    dir1=tkFileDialog.askopenfilename(parent=root, title="choose file path")
    go['state']=Tkinter.ACTIVE
root=Tkinter.Tk()
global go
go=Tkinter.Button(text='file location',command=chooseDir,state=Tkinter.DISABLED).pack()
root.mainloop()

问题答案:

这行:

go=Tkinter.Button(text='file location',command=chooseDir,state=Tkinter.DISABLED).pack()

正在创建一个临时对象,然后在其上调用pack()。pack方法返回无,因此go分配为无。

删除.pack(),然后go将成为Button对象。然后致电go.pack()