首页 > 解决方案 > 是否有一种在 Tkinter 窗口中呈现变量的适应性方式,以便它随着程序的其余部分而变化?

问题描述

假设我有这样的算法(因为我有):

from tkinter import *

x = 0 # For Example
window = Tk()
#window.minsize(Whatever, Whatever Else)
label = Label(window, text=x)
label.pack()

我还想在程序期间定期将 x 更改为传感器的值,但我将使用一个简单的循环来显示我所追求的:

for loop in range(4):
    x = x+1 #If, say, the sensor value goes up by 1 each time

每次 x 更改时我可以做些什么来更新窗口中的文本(在标签上)(这不是特定于此代码,因此任何人都可以使用它)?

标签: pythontkinter

解决方案


看看观察者模式。此设计模式解决了您遇到的常见问题。

您的 GUI 应该是它呈现的数据的观察者。当此数据更改时,更改组件应通知观察者 (GUI) 状态更改。


推荐阅读