私が書いているコードでは、Tkinter UIでボタンを押すとボタンが無効になり、別のボタン現在無効になっているボタンが再度有効になります。Tkinterボタンが無効になっている/有効になっているとき
import tkinter as tk
from tkinter import ttk
def btnPressed(index):
print("Button {0} disabled".format(index))
for i in range(len(buttons)):
print("Button {0}, State: {1}".format(index, buttons[index]['state']))
if buttons[i]['state'] == 'disabled':
buttons[i].configure(state = 'normal')
buttons[index].configure(state = 'disabled')
root = tk.Tk()
buttons = []
btn1 = ttk.Button(root, text = "Button 1", command = lambda: btnPressed(0))
btn1.pack()
buttons.append(btn1)
btn2 = ttk.Button(root, text = "Button 2", command = lambda: btnPressed(1))
btn2.pack()
buttons.append(btn2)
btn3 = ttk.Button(root, text = "Button 3", command = lambda: btnPressed(2))
btn2.pack()
buttons.append(btn3)
root.mainloop()
今すぐボタンを無効にすることができますが、その後は「通常の」状態に戻りません。私はそれがif文をチェックする前に、私はすべてのボタンの現在の状態を見ることができるように、forループで
print("Button {0}, State: {1}".format(index, buttons[index]['state']))
を入れて、いくつかのバグのテストをやってみました。
すべてのボタンは、UI上で無効になっていて、まだ状態値が'normal'
です。だから明らかに何かが間違っていますが、私はその何かが何であるか分かりません。
私にはそれをビートしてください。私はちょうど私の答えを投稿しようとしていた:P。 –
ありがとうございました。私はIDLEデバッガを理解できないので、値の型をチェックすることができませんでした。 – Skitzafreak