tkinter:see()使文本消失

时间:2017-01-18 08:05:56

标签: python tkinter tk

我在tkinter遇到这个奇怪的问题。基本上我使用文本小部件使​​用python日志记录对象从我的应用程序输出某些消息。相应的Handler看起来像这样:

class MessageHandler(logging.Handler):
    def __init__(self, msg_widget, level=logging.NOTSET):
        logging.Handler.__init__(self, level)

        self.__msg_widget = msg_widget

    def emit(self, record):
        self.__msg_widget.config(state=tk.NORMAL)
        self.__msg_widget.insert('end', '\n' + record.getMessage())
        self.__msg_widget.see('end linestart')
        self.__msg_widget.config(state=tk.DISABLED)

这里msg_widget是一个tk.Text对象。但是,有时文本内容会完全消失,需要手动滚动(使用鼠标)才能重新出现。如果我取消注释行

,则不会发生这种情况
self.__msg_widget.see('end linestart')

有没有人知道这种行为可能来自哪里?

0 个答案:

没有答案