我有一个在initUI(self)函数中创建的文本区域,并希望在另一个中添加其内容。当我在课堂上初始化文本区域为全局时,该区域是在另一个窗口中创建的,这不是我想要的。我见过与全局变量有关的问题但不是这样的问题。
from Tkinter import*
textArea = Text() # creates another window
class test(Frame):
def __init__(self, parent):
Frame.__init__(self,parent)
self.initUI()
def initUI(self):
mainFrame = Frame(self, parent)
textArea = Text(maınFrame, height=10, width=10)
textArea.pack(side=BOTTOM)
textArea.insert(INSERT, "abc")
def changeText():
global textArea
textArea.insert(INSERT, "def")
感谢
答案 0 :(得分:1)
global
不是必需的。您可以将所需的变量附加到self
。
from Tkinter import*
class test(Frame):
def __init__(self, parent):
Frame.__init__(self,parent)
self.initUI()
def initUI(self):
mainFrame = Frame(self, parent)
self.textArea = Text(maınFrame, height=10, width=10)
self.textArea.pack(side=BOTTOM)
self.textArea.insert(INSERT, "abc")
def changeText(self):
self.textArea.insert(INSERT, "def")