【发布时间】:2021-09-30 20:55:38
【问题描述】:
好的,我正在尝试按照本网站的指南使用 tkinter 学习一些 GUI:https://realpython.com/python-gui-tkinter/#building-your-first-python-gui-application-with-tkinter 根据我运行代码的方式,它使用 IDLE verse shell 运行。
在 Idle 中发生的事情是它在输入任何内容之前很久就调用 name。这就是输出为 "" 的原因。在 shell 中,我可以在“john doe”条目中输入一些内容,当我进入“名称”时,它可以输出一些内容。
import tkinter as tk
window = tk.Tk()
label = tk.Label(text = "Name")
entry = tk.Entry()
label.pack()
entry.pack()
name = entry.get()
name
【问题讨论】:
-
您需要执行
.get()以响应某些指示用户已完成输入数据的事件 - 按钮的command=函数是典型的地方。 -
这个问题非常广泛;请参阅How to Ask。您的程序在 shell 中工作的原因是 shell 立即运行每一行,并打印任何返回值的对象。正常运行时应该使用
print(name)查看输出。
标签: python tkinter python-idle