更新Tkinter Label小部件中的文本

时间:2013-07-24 10:24:44

标签: python tkinter

每次调用“update_textbox”时,我的GUI中都会创建一个新的LabelFrame,为什么会这样?我只想更新文本框中的文字。

import Tkinter as tk

class TP_textbox(tk.LabelFrame):

    def __init__(self, parent = None):

        tk.LabelFrame.__init__(self, parent, 
                           text = 'Information')
        self.grid()
        self._createContent()


    def _createContent(self):  

        self.v = tk.StringVar()

        self.textbox = tk.Label(self, textvariable = self.v, anchor=tk.CENTER,background='white')
        self.textbox.grid()


   def update_textbox(self,TEXT):

        self.v.set(TEXT)
        self.textbox.update_idletasks()

由于代码中的其他地方似乎存在错误,因此我将尝试了解代码的外观。我是使用python的新手,所以我确定我在某处犯了一个愚蠢的错误..

主要模块:

class Application(tk.Frame):
""" """
def __init__(self, root):#
    """ """
    tk.Frame.__init__(self, root)
    root.title(""" FerryBox Tools """)
    self._setupMainWindow()

def _setupMainWindow(self):
    """ """
    self.grid()
    Static_textbox.TP_textbox(root)

调用“update_textbox”的模块示例

import Static_textbox
def createPickel(my_dir = u'/test_data', 
             start = ['2012','1','2','12','45'],
             stop = ['2012','6','2','12','45'],
             filterVal = "filtered",
             myData = transpaper_DataHolder.DataHolder()):

    update_info = Static_textbox.TP_textbox()

    infoText = 'Locating data on server...'
    update_info.update_textbox(infoText)

0 个答案:

没有答案