我目前正在尝试使用Python为高中编码II类编写基本的smartmirror。我尝试做的一件事是创建一个欢迎文本,根据您按下的按钮进行更新。我正在阅读画布的字符串'来自.txt
文档的文本根据我选择的用户而变化。当我更改文档的文本时,有没有办法让它自动刷新?
我用来显示消息的代码是:
text2 = Canvas(tk, width=500, height=100)
welcometext = text2.create_text(200, 50, text=string, font=('Helvetica', 20, 'italic'))
text2.pack(side=TOP, anchor=Center)
答案 0 :(得分:0)
执行此操作的基本方法是循环。在循环的每个循环中,您应该检查用户输入并重绘。确保将所有内容分解为函数,以使循环清晰。像这样的东西 -
canvas = Canvas(tk, width=500, height=500)
text = ''
while(True) {
getUserInput(text)
draw(canvas, text)
}
您可以使用内置input函数的python来获取getUserInput
函数中的用户输入。
顺便说一句,这是一种天真的方法,因为循环会在重绘之前每次等待用户输入。正确的方法是使用threading。你可以有一个线程来捕获用户输入,而你的主循环做其他事情。由于数据同步问题,这可能会变得非常复杂。我现在只是坚持使用天真的方法。
此外,变量text2
具有误导性。始终尝试将变量命名为它们的确切含义。在这种情况下,它是Canvas
对象,因此将其称为canvas
。