在 Python 中的 Window 中不将键盘输入显示为标签
Not Displaying the Keyboard Inputs as Labels in the Window in Python
如何在 gui 中将键盘输入的字母显示为标签 window?
我现在只能在控制台上查看它。
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."))
returns?它returns一个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()
如何在 gui 中将键盘输入的字母显示为标签 window? 我现在只能在控制台上查看它。
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."))
returns?它returns一个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()