如何用Python制作一个不断刷新的画布?

2024-03-28 18:10:26 发布

您现在位置:Python中文网/ 问答频道 /正文

我目前正在尝试用Python为高中的codingii课程编写一个基本的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)

Tags: 字符串代码text用户文档文本txt画布
1条回答
网友
1楼 · 发布于 2024-03-28 18:10:26

基本的方法是循环。循环的每一个周期都应该检查用户输入并重新绘制。确保将所有内容分解为函数,以便循环是干净的。像这样的-

canvas = Canvas(tk, width=500, height=500)
text = ''

while(True) {
    getUserInput(text)
    draw(canvas, text)
}

您可以使用python内置的input函数来获取getUserInput函数中的用户输入。你知道吗

另一方面,这是一种幼稚的方法,因为循环每次重画之前都会等待用户输入。正确的方法是使用threading。当主循环执行其他操作时,可以有一个线程来捕获用户输入。但是,由于数据同步问题,这会变得非常复杂。我现在还是坚持天真的方法。你知道吗

而且,变量text2是误导性的。总是试着给变量命名,使其准确无误。在本例中,它是一个Canvas对象,所以称之为canvas。你知道吗

相关问题 更多 >