Python Tkinter键盘按钮将字母添加到条目中
我正在尝试为我的GUI编写代码。我想要一个键盘,可以在输入控件中添加字母。我很接近它,但问题是当点击按钮时,它只在条目中添加字母“a” 正如您在我的代码中看到的,我在命令中添加了“a”。command=lambda:set_text('a') 当然,这就是为什么它只打印“a”的原因。但是,如果我从forloop中提取字母并使set_文本(字母)在Entry小部件中只显示H 我还尝试删除第二个循环,将其更改为set_text(lst[count]) 所有按钮现在都将“A”添加到条目中 知道我做错了什么吗 我的代码:Python Tkinter键盘按钮将字母添加到条目中,python,user-interface,tkinter,keyboard,Python,User Interface,Tkinter,Keyboard,我正在尝试为我的GUI编写代码。我想要一个键盘,可以在输入控件中添加字母。我很接近它,但问题是当点击按钮时,它只在条目中添加字母“a” 正如您在我的代码中看到的,我在命令中添加了“a”。command=lambda:set_text('a') 当然,这就是为什么它只打印“a”的原因。但是,如果我从forloop中提取字母并使set_文本(字母)在Entry小部件中只显示H 我还尝试删除第二个循环,将其更改为set_text(lst[count]) 所有按钮现在都将“A”添加到条目中 知道我做错了
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()
从tkinter导入*
从ttk导入*
def maakbuttons():
计数=0
lst=[]
如果计数=0:
e、 删除(最后)
root=Tk()
a=root.wm_属性('-fullscreen',1)
e=入口(根,宽度=10)
e、 位置(x=500,y=500)
maakbuttons()
root.mainloop()
用以下方法重新安装线路:
Buttons = Button(master=root, text=letter, command=lambda x=letter: set_text(x))
此外:
似乎是多余的。谢谢你,伙计!我用你的替换了按钮线,现在它可以正常工作了。你在《ABC…》中用for字母是什么意思?
for letter in 'ABCDEFGH':
lst.append(letter)
for letter in lst:
...