TypeError: 'NoneType' object does not support item assignment?

前端 未结 2 533
盖世英雄少女心
盖世英雄少女心 2021-01-14 03:18

So I start a root screen with a \"file select\" and a \"go\" button. The go button is disabled and I want to make it active after the file has been selected. When I select

相关标签:
2条回答
  • 2021-01-14 03:51

    This line:

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

    is creating a temporary object, then calling pack() on it. The pack method returns None, so go is assigned None.

    Remove the .pack() then go will be the Button object. Then call go.pack().

    0 讨论(0)
  • 2021-01-14 03:57

    (update for new error) go doesn't exist in that scope, you'll need to get access to it somehow, or by using the one in the global scope using global go inside the chooseDir method perhaps

    Tkinter.Buttons don't behave like dictionaries, you can change their status via the config() method.

    Try:

    go.config(state=Tkinter.ACTIVE)
    
    0 讨论(0)
提交回复
热议问题