簡體   English   中英

TypeError:'NoneType'對象不支持項目分配?

[英]TypeError: 'NoneType' object does not support item assignment?

所以我用“文件選擇”和“開始”按鈕啟動根屏幕。 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()

這一行:

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

正在創建一個臨時對象,然后在其上調用pack()。 pack方法返回None,因此go被賦予None。

刪除.pack()然后go將是Button對象。 然后調用go.pack()

(更新為新錯誤) go在該范圍內不存在,您需要以某種方式訪問​​它,或者使用全局范圍中的那個使用global go范圍內的chooseDir方法

Tkinter.Button的行為不像字典,你可以通過config()方法改變它們的狀態。

嘗試:

go.config(state=Tkinter.ACTIVE)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM