純粋なタッチシステムでパスワードコードを入力できるように、tkinter を使用して小さなテンキーを作成しようとしています。これは私がこれまでに持っているものです:
tkinter import ttk から tkinter をインポートする
def main():
root = tkinter.Tk()
numpad = NumPad(root)
root.mainloop()
btn_list = [
'7', '8', '9',
'4', '5', '6',
'1', '2', '3', '0']
class NumPad(ttk.Frame):
def __init__(self, root):
ttk.Frame.__init__(self, root)
self.grid()
self.numpad_create()
def numpad_create(self):
r = 1
c = 0
for b in btn_list:
cmd= lambda: print(b)
self.b= ttk.Button(self, text=b,width=5,command=cmd).grid(row=r,column=c)
print(b)
c += 1
if c > 4:
c = 0
r += 1
main()
プログラムを開始すると、数字 b がシェルに出力されるため、これは機能します。また、ボタンは希望どおりに表示されます。しかし、それらをクリックすると、シェルへの出力として常に 0 になります。私が行った間違いを見つけることができません。ガベージコレクションと関係があるのではないかと思いますが、よくわかりません。
誰か助けてくれませんか?それは本当に素晴らしいことです!
ありがとうございました!