怎么把LOGGER.info(f"{s}{'' if len(det) else '(no detections), '}{dt[1].dt * 1E3:.1f}ms")输出到界面上
时间: 2024-05-07 12:22:19 浏览: 199
如果你想在界面上显示 `LOGGER.info` 的输出,你可以使用 Python 的 GUI 库,如 PyQt 或 Tkinter。以下是一个简单的 Tkinter 示例代码,可以将 `LOGGER` 的日志输出显示在一个文本框中:
```python
import tkinter as tk
import logging
class Application(tk.Frame):
def __init__(self, master=None):
super().__init__(master)
self.master = master
self.pack()
self.create_widgets()
def create_widgets(self):
self.textbox = tk.Text(self)
self.textbox.pack()
self.scrollbar = tk.Scrollbar(self.textbox)
self.scrollbar.pack(side=tk.RIGHT, fill=tk.Y)
self.textbox.config(yscrollcommand=self.scrollbar.set)
self.scrollbar.config(command=self.textbox.yview)
def log(self, message):
self.textbox.insert(tk.END, message + "\n")
self.textbox.see(tk.END)
root = tk.Tk()
app = Application(master=root)
logging.basicConfig(level=logging.INFO, format='%(message)s', stream=app)
LOGGER = logging.getLogger(__name__)
# Example usage
LOGGER.info("Hello, world!")
LOGGER.info("This is a test message.")
app.mainloop()
```
这个示例代码创建了一个简单的 Tkinter 窗口,其中包括一个文本框和一个滚动条。`Application` 类的 `log` 方法将日志信息添加到文本框中。在 `main` 函数中,我们将 `LOGGER` 的输出流设置为 `Application` 类的实例,这样所有 `LOGGER` 的日志信息都将显示在文本框中。
你可以将 `LOGGER.info(f"{s}{'' if len(det) else '(no detections), '}{dt[1].dt * 1E3:.1f}ms")` 改为 `app.log(f"{s}{'' if len(det) else '(no detections), '}{dt[1].dt * 1E3:.1f}ms")`,这样日志信息就会显示在窗口中。
阅读全文