python print重定向到UI界面
时间: 2023-11-22 18:05:07 浏览: 99
可以使用Python的GUI库来实现将print输出重定向到UI界面。以下是一个使用Tkinter库的示例代码:
```python
import tkinter as tk
import sys
class StdoutRedirector(object):
def __init__(self, text_widget):
self.text_space = text_widget
def write(self, string):
self.text_space.insert(tk.END, string)
self.text_space.see(tk.END)
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.text_space = tk.Text(self, height=20, width=50)
self.text_space.pack()
self.redirect_button = tk.Button(self, text="Redirect", command=self.redirect_output)
self.redirect_button.pack()
def redirect_output(self):
sys.stdout = StdoutRedirector(self.text_space)
print("Print output redirected to UI!")
root = tk.Tk()
app = Application(master=root)
app.mainloop()
```
此代码创建了一个简单的Tkinter应用程序,其中包含一个文本框和一个按钮。当用户点击按钮时,它将调用redirect_output方法,该方法将print输出重定向到文本框。重定向实现是通过自定义StdoutRedirector对象来完成的,该对象具有write方法,该方法在文本框中插入print输出并将其滚动到最后一行。
阅读全文