Tkinter Entry组件输入内容无法打印,是什么原因如何解决?
问题原因
你代码的问题出在按钮绑定回调函数的写法上:
- 你写的
command=pri()会在程序初始化创建按钮的时候立即执行一次pri()函数,执行后的返回值(该函数无返回值,实际返回的是None)会被绑定给command参数,所以后续点击按钮时没有可执行的逻辑,自然没有效果。 - 正确写法是只传函数名,不需要加括号,也就是
command=pri,这样是把函数本身绑定给点击事件,点击按钮的时候才会触发函数执行。
修正后的代码
import tkinter as tk root = tk.Tk() userInput1 = tk.StringVar() userInput2 = tk.StringVar() def pri(): first = userInput1.get() print(first) canvas = tk.Canvas(root, height=600, width=400, bg='grey',) canvas.pack() entry1 = tk.Entry(root, textvariable=userInput1) entry1.pack() entry2 = tk.Entry(root, textvariable=userInput2) entry2.pack() # 仅修改此处,去掉pri后的括号即可 button = tk.Button(root, text='Create Directory', fg='white', bg='green', command=pri) button.pack() root.mainloop()
内容的提问来源于stack exchange,提问作者Der Kommentar
相关产品推荐
相关产品推荐

