如何在执行代码时使日志显示在Tkinter GUI或任何文本小部件上?

2024-04-18 16:54:42 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个Tkinter简单的项目,使用Selenium从网络浏览器获取一些数据。 我使用日志模块来标记代码的执行,并试图使这些日志显示在任何文本小部件上,无论是标签、条目还是列表框。 我的问题是,当代码运行日志正常出现在控制台屏幕上时,但在执行函数后,将相同的注释插入到输入框或列表框中会同时出现。有没有办法直接在Tkinter GUI上显示日志?或者,我可以在GUI上插入与日志记录相同的注释? 或者一般来说,有没有一种方法可以在TkinterGUI上显示控制台执行

def open_page():
    driver = webdriver.Firefox()
    logging.info('Browser launched')
    results.insert(1, 'Browser launched') # trying to insert same comment into a Listbox
    time.sleep(5)
    driver.get('#link')
    logging.info('Page requested')
    results.insert(2, 'Page requested')
    time.sleep(5)

results = Listbox(main, justify='left')
results.config(font=30, bg=bg_color)
results.place(relx=0.05, rely=0.35, relwidth=0.9, relheight=0.5)