1 回答

TA贡献1798条经验 获得超7个赞
尽管位于 tkinter 之上,但 Zelle Graphics 没有用户访问事件管理器的权限!(不像 Python turtle 也位于 tkinter 之上。)而且这个Entry对象确实暴露了这个缺点。
人们使它具有任何状态的两种方法是不断运行无限循环处理输入或使用鼠标单击来推进状态。由于您收到“未响应”消息,我假设您正在某种开发 IDE 下运行,例如 Anaconda,它不喜欢您的失控while True:循环。所以我们需要切换到鼠标点击。这是一个简单的例子:
from graphics import *
win = GraphWin()
entry = Entry(Point(100, 100), 10)
entry.draw(win)
text = Text(Point(100, 150), 'This is text')
text.draw(win)
while True:
win.getMouse()
string = entry.getText()
if string.lower() == 'quit':
break
text.setText(string.upper())
您可以在Entry小部件中键入,然后当您单击鼠标时,您的输入将显示在Text小部件中,但全部为大写。如果输入“quit”,程序将退出。您的用户需要知道在输入任何输入字段后点击。
添加回答
举报