繁体   English   中英

Python全局文本区域

[英]Python global text area

我在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")

谢谢

当您需要在属于同一类的两个方法之间共享变量时,不需要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")

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM