所以我用“文件选择”和“开始”按钮启动根屏幕。 go按钮被禁用,我想在选择文件后使其处于活动状态。当我选择文件时,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()
答案 0 :(得分:6)
这一行:
go=Tkinter.Button(text='file location',command=chooseDir,state=Tkinter.DISABLED).pack()
正在创建一个临时对象,然后在其上调用pack()。 pack方法返回None,因此go
被指定为None。
删除.pack()然后go
将成为Button对象。然后拨打go.pack()
。
答案 1 :(得分:1)
(更新新错误)
go
在该范围内不存在,您需要以某种方式访问它,或者使用global go
方法中的chooseDir
使用全局范围中的那个}} p>
Tkinter.Button
的行为与词典不同,您可以通过config()
方法更改其状态。
尝试:
go.config(state=Tkinter.ACTIVE)