String 在Python图形中从输入窗口获取文本

String 在Python图形中从输入窗口获取文本,string,python-3.x,text,zelle-graphics,String,Python 3.x,Text,Zelle Graphics,我试图从用户那里获取Python图形中的文本,并能够使用该输入,比如操纵它,在列表中搜索它,等等。为了测试这一点,我在图形中创建了一个输入窗口,并试图从该输入窗口获取文本,并简单地将其显示在窗口中,只是为了检查它是否成功获取了文本 不幸的是,它不工作,它只是显示“单击任何地方退出”,然后是空窗口,尽管在其中写入文本,但它什么也不做。我做错了什么 以下内容来自 根据graphics.py中隐藏底层事件的方式,当用户在输入框中输入文本时,没有信号。要向程序发送信号,请在上面使用鼠标按下。在这种情况下

我试图从用户那里获取Python图形中的文本,并能够使用该输入,比如操纵它,在列表中搜索它,等等。为了测试这一点,我在图形中创建了一个输入窗口,并试图从该输入窗口获取文本,并简单地将其显示在窗口中,只是为了检查它是否成功获取了文本


不幸的是,它不工作,它只是显示“单击任何地方退出”,然后是空窗口,尽管在其中写入文本,但它什么也不做。我做错了什么

以下内容来自

根据graphics.py中隐藏底层事件的方式,当用户在输入框中输入文本时,没有信号。要向程序发送信号,请在上面使用鼠标按下。在这种情况下,鼠标按下的位置是不相关的,但一旦鼠标按下被处理,执行可以继续并读取输入文本

您在绘制条目后立即获得文本,因此它将为空。您需要等待信号,然后读取条目。文档中的这段摘录说,等待鼠标单击,然后读取条目。 因此,尝试添加

from graphics import *      

win = GraphWin("Hangman", 600, 600)
win.setBackground("yellow")
textEntry = Entry(Point(233,200),10)
textEntry.draw(win)
text = textEntry.getText()
testText = Text(Point(150,15), text)
testText.draw(win)

exitText = Text(Point(200,50), 'Click anywhere to quit')
exitText.draw(win)

win.getMouse()
win.close()
对您的代码进行如下修改

    win.getMouse()
下面是输出的样子。注意:我把条目改为50宽。

from graphics import *      

win = GraphWin("Hangman", 600, 600)
win.setBackground("yellow")
textEntry = Entry(Point(233,200),50)
textEntry.draw(win)

# click the mouse to signal done entering text
win.getMouse()

text = textEntry.getText()
testText = Text(Point(150,15), text)
testText.draw(win)

exitText = Text(Point(200,50), 'Click anywhere to quit')
exitText.draw(win)

win.getMouse()
win.close()