import tkinter
import logging
class LoggerBox(tkinter.Text):
"""
日志框
"""
def write(self, message):
self.insert("end", message)
def add_log(master):
fm = tkinter.Frame(master=master)
fm.pack()
logger = logging.getLogger()
logger.setLevel(level=logging.DEBUG)
# formatter = logging.Formatter(fmt="%(asctime)s[%(levelname)s]<%(threadName)s>: %(message)s")
streamHandlerBox = LoggerBox(master=fm, width=50, height=10, background="black", foreground="white")
streamHandlerBox.pack(side="left")
handler = logging.StreamHandler(streamHandlerBox)
# handler.setFormatter(formatter)
logger.addHandler(handler)
yscrollbar = tkinter.Scrollbar(fm)
yscrollbar.pack(side=tkinter.RIGHT, fill=tkinter.Y)
# 滚动条与text联动
yscrollbar.config(command=streamHandlerBox.yview)
# text与滚动条联动
streamHandlerBox.config(yscrollcommand=yscrollbar.set)
for i in range(1000):
logger.info(f"{i}")
root = tkinter.Tk()
add_log(master=root)
root.mainloop()
python-tk-实时显示日志+滚动条
最新推荐文章于 2025-04-01 11:32:44 发布