每次调用“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)