-1

今、私はボタンが押されたときにすべてのボタンとラベルの色を変更するコードを書いています。しかし、毎回異なるエラーが発生します。

windows = []
global windows
buttons = []
global buttons
labels = []
global labels

たくさんのコード...そして...

    def flavor(c):
    if c != 0:
        c = 0
        for w in windows:
            w.config(bg = 'black')
        for l in labels:
            l.config(bg = 'black', fg = 'white')
        for b in buttons:
            b.config(bg = 'black', fg = 'white')
    elif c != 1:
        c = 1
        for w in windows:
            w.config(bg = 'dark green')
        for l in labels:
            l.config(bg = 'dark green', fg = 'light green')
        for b in buttons:
            b.config(bg = 'dark green', fg = 'light green')

私がほぼ常に、そしてほとんどの場合に受けたエラーは次のとおりでした:

Traceback (most recent call last):
File "C:\Users\Ahmet\Desktop\An interesting experiment\FOBBY.py", line 153, in <module>
main()
File "C:\Users\Ahmet\Desktop\An interesting experiment\FOBBY.py", line 118, in main
thememenu.add_command(label="Plain",command = flavor(0))
File "C:\Users\Ahmet\Desktop\An interesting experiment\FOBBY.py", line 79, in flavor
l.config(bg = 'dark green', fg = 'light green')
AttributeError: 'NoneType' object has no attribute 'config'

手伝ってくれてありがとう

4

1 に答える 1

2

私はあなたがこのようなウィジェットを作成していることを確信しています:

l = Label(,,,).pack(...)
labels.append(l)

のようなことをするfoo().bar()と、結果は最後の関数が返すものになります。あなたの場合、パック(またはグリッド)は呼び出される最後の関数であり、常に。を返しますNone。したがって、リストにはNonesしか含まれていません。

于 2013-03-02T13:55:32.713 に答える