&引用;自动地;检测python变量中的更改(或通过引用传递变量)
假设我有&引用;自动地;检测python变量中的更改(或通过引用传递变量),python,variables,reference,Python,Variables,Reference,假设我有 class MyData(object): var1 = 0 var2 = 0 var3 = 0 通过串行通信(或任何其他异步进程)设置数据 我还有一些GUI原语 class Label(object): def __init__(self, text, x_pos, y_pos): bluh.... def paint(self): screen.paint(self.__text, (self.__po
class MyData(object):
var1 = 0
var2 = 0
var3 = 0
通过串行通信(或任何其他异步进程)设置数据
我还有一些GUI原语
class Label(object):
def __init__(self, text, x_pos, y_pos):
bluh....
def paint(self):
screen.paint(self.__text, (self.__pos))
class MyWindow(self):
def __init__(self):
label_var1 = Label("VAR1", 10, 20)
label_var2 = Label("VAR2", 10, 30)
我有多个MyWindow类的实例,它们在MyData类中显示不同的变量子集
问题:
我可以使用什么机制将a标签“连接”到它应该显示的变量?在C/C++中,我将存储指向变量的指针。
我很乐意创建一个包含变量值和变量id的类,但这似乎有些过分。我不清楚您到底想做什么。您展示了一堆代码示例,但没有解释它们应该做什么。如果您使用的是GUI框架,它通常会有一种方法使标签“动态”,即通过调用回调或其他方式更新标签,这样您就可以使用新数据刷新标签。MyData与任何内容有什么关系?您在哪里使用它?您的问题是将标签“连接”到变量,以便您可以显示其值(为此,您需要在编辑器中引用变量),或自动检测对变量所做的任何更改(为此,您可以在变量的setter中更新观察器)。Tkinter具有类
IntVar
,StringVar
等,当您更改变量时,tkinter.Label
中的文本将更改(或者您可以将函数分配给变量,并在更改变量时执行该函数)。你必须创造一些类似的东西。我不清楚你到底想做什么。您展示了一堆代码示例,但没有解释它们应该做什么。如果您使用的是GUI框架,它通常会有一种方法使标签“动态”,即通过调用回调或其他方式更新标签,这样您就可以使用新数据刷新标签。MyData与任何内容有什么关系?您在哪里使用它?您的问题是将标签“连接”到变量,以便您可以显示其值(为此,您需要在编辑器中引用变量),或自动检测对变量所做的任何更改(为此,您可以在变量的setter中更新观察器)。Tkinter具有类IntVar
,StringVar
等,当您更改变量时,tkinter.Label
中的文本将更改(或者您可以将函数分配给变量,并在更改变量时执行该函数)。你必须创造类似的东西。
class Label(object):
def __init__(self, text, x_pos, y_pos):
bluh....
def paint(self):
screen.paint(self.__text, (self.__pos))
class MyWindow(self):
def __init__(self):
label_var1 = Label("VAR1", 10, 20)
label_var2 = Label("VAR2", 10, 30)