如何在gui窗口中把从键盘输入的字母显示为标签?我现在只能在控制台上查看,请问如何将从键盘输入的字母显示为gui窗口中的标签?
from tkinter import*
from tkinter import ttk
window = Tk()
def letter(event):
a=str(print (repr(event.char)," key pressed."))
label=Label(window,text=a)
label.place(x=15,y=15)
def clicked(event):
frame.focus_set()
print(event.x,event.y ,"coordinate clicked.")
frame =Frame(window, width=500, height=500)
frame.bind("<Key>",letter)
frame.bind("<Button-1>", clicked)
frame.pack()
window.mainloop()
我看到你的代码有一些问题。
你有什么看法?str(print (repr(event.char)," key pressed."))
返回? 它返回一个None值,然后把这个值放到标签中,标签就显示 "None"。
在函数 letter
您正在创建 Label
每次调用该函数,这意味着它只是将标签重叠在之前创建的标签上。所以在函数外创建一个标签,然后把这个标签更新到该函数中。
完整的代码。
from tkinter import*
from tkinter import ttk
window = Tk()
def letter(event):
a = "'%s' key pressed" %event.char
print(a)
# Update the text of label.
label['text'] = a
def clicked(event):
frame.focus_set()
print(event.x,event.y ,"coordinate clicked.")
frame =Frame(window, width=500, height=500)
frame.bind("<Key>",letter)
frame.bind("<Button-1>", clicked)
frame.pack()
label=Label(window, text='Key')
label.place(x=15, y=15)
window.mainloop()