【发布时间】:2014-07-08 08:05:14
【问题描述】:
我想做一个能够在文本小部件中“记录”文本的类。其他应用程序可以使用此类向文本小部件发送和显示日志。
class TraceConsole():
def __init__(self):
# Init the main GUI window
self._logFrame = Tk.Frame()
self._log = Tk.Text(self._logFrame, wrap=Tk.NONE, setgrid=True)
self._scrollb = Tk.Scrollbar(self._logFrame, orient=Tk.VERTICAL)
self._scrollb.config(command = self._log.yview)
self._log.config(yscrollcommand = self._scrollb.set)
# Grid & Pack
self._log.grid(column=0, row=0)
self._scrollb.grid(column=1, row=0, sticky=Tk.S+Tk.N)
self._logFrame.pack()
def log(self, msg, level=None):
# Write on GUI
self._log.insert('end', msg + '\n')
def exitWindow(self):
# Exit the GUI window and close log file
print('exit..')
使用示例:
t = TraceConsole()
t.log('hello world!')
我现在的问题是我不知道将主循环放在哪里。该记录器必须“在后台”运行,并且在关闭窗口之前可以随时写入日志。
【问题讨论】: