0
私のGUI用のコードを書こうとしています。 Entryウィジェットに手紙を追加するキーボードが必要です。私はそれに近いですが、問題はそのボタンをクリックすると、エントリに文字 'a'だけを追加することです。Tkinterキーボードボタンが入力に文字を追加します
私のコードでわかるように、私はコマンドに 'a'を追加しました。 command = lambda:set_text( 'a') これは印刷が「a」の理由です。しかし、もし私がforloopから手紙を受け取り、set_text(文字)にEntryウィジェットのHのみを表示させるならば。
また、2回目のループを削除すると、set_text(lst [count])に変更されます。 すべてのボタンは現在「A」をエントリに追加しています。
私は間違っていると思いますか?
私のコード:また
Buttons = Button(master=root, text=letter, command=lambda x=letter: set_text(x))
:とのあなたのラインRepalce
from tkinter import *
from ttk import *
def maakbuttons():
count = 0
lst = []
if count <= 7:
for letter in 'ABCDEFGH':
lst.append(letter)
for letter in lst:
Buttons = Button(master=root, text=letter, command=lambda: set_text('a'))
Buttons.place(x=20, y=30 +50 * count)
count+=1
def set_text(text):
a = e.get() + text
e.delete(0, len(e.get()))
e.insert(0, a)
def remove_letter():
last = len(e.get())-1
if last >= 0:
e.delete(last)
root= Tk()
a = root.wm_attributes('-fullscreen', 1)
e = Entry(root,width=10)
e.place(x=500, y=500)
maakbuttons()
root.mainloop()
ありがとうございました!私はあなたのボタンラインを交換し、今は正常に動作します。 「ABC ...」の手紙の意味はどういう意味ですか? –