如何从另一个函数访问此文本小部件?
How can I access this text widget from another function?
我正在尝试通过 write_line 函数将文本插入到我在 init 函数中创建的文本框中。我的目标是能够动态地将文本添加到文本框,类似于命令控制台的工作方式(如果有更好的小部件或方法来解决这个问题,请告诉我)。但是,我不确定如何从 init 函数外部访问文本小部件。我使用的是 python.
的最新版本
class Console(Text, Scrollbar):
def __init__(self, parent):
Text.__init__(self, parent)
Scrollbar.__init__(self, parent)
text = Text(parent)
scroll = Scrollbar(parent)
text.focus_set()
scroll.pack(side=RIGHT, fill=Y)
text.pack(side=LEFT, fill=Y)
scroll.config(command=text.yview)
text.config(yscrollcommand=scroll.set)
# text.insert(END, 'this is a test') <-- need to move this statement to the write line function
# write line to text box
def write_line(self):
pass
在声明变量时添加 'self.',这样它就不再只是 'text',而是 'self.text'。
class Console(Text, Scrollbar):
def __init__(self, parent):
Text.__init__(self, parent)
Scrollbar.__init__(self, parent)
self.text = Text(parent)
scroll = Scrollbar(parent)
self.text.focus_set()
scroll.pack(side=RIGHT, fill=Y)
self.text.pack(side=LEFT, fill=Y)
scroll.config(command=self.text.yview)
self.text.config(yscrollcommand=scroll.set)
# write line to text box
def write_line(self):
self.text.insert(END, 'this is a test') # there
我正在尝试通过 write_line 函数将文本插入到我在 init 函数中创建的文本框中。我的目标是能够动态地将文本添加到文本框,类似于命令控制台的工作方式(如果有更好的小部件或方法来解决这个问题,请告诉我)。但是,我不确定如何从 init 函数外部访问文本小部件。我使用的是 python.
的最新版本class Console(Text, Scrollbar):
def __init__(self, parent):
Text.__init__(self, parent)
Scrollbar.__init__(self, parent)
text = Text(parent)
scroll = Scrollbar(parent)
text.focus_set()
scroll.pack(side=RIGHT, fill=Y)
text.pack(side=LEFT, fill=Y)
scroll.config(command=text.yview)
text.config(yscrollcommand=scroll.set)
# text.insert(END, 'this is a test') <-- need to move this statement to the write line function
# write line to text box
def write_line(self):
pass
在声明变量时添加 'self.',这样它就不再只是 'text',而是 'self.text'。
class Console(Text, Scrollbar):
def __init__(self, parent):
Text.__init__(self, parent)
Scrollbar.__init__(self, parent)
self.text = Text(parent)
scroll = Scrollbar(parent)
self.text.focus_set()
scroll.pack(side=RIGHT, fill=Y)
self.text.pack(side=LEFT, fill=Y)
scroll.config(command=self.text.yview)
self.text.config(yscrollcommand=scroll.set)
# write line to text box
def write_line(self):
self.text.insert(END, 'this is a test') # there