一尘不染

将命令行结果重定向到tkinter GUI

python

我创建了一个在命令行上打印结果的程序。(它是服务器,并在命令行上打印日志。)

现在,我想对GUI看到相同的结果。

如何将命令行结果重定向到GUI?

请提出一个技巧,以轻松地将控制台应用程序转换为简单的GUI。

请注意,它应在Linux和Windows上运行。


阅读 179

收藏
2020-12-20

共1个答案

一尘不染

您可以创建一个脚本包装程序,该程序包装程序将您的命令行程序作为子进程运行,然后将输出添加到诸如文本小部件之类的东西中。

from tkinter import *
import subprocess as sub
p = sub.Popen('./script',stdout=sub.PIPE,stderr=sub.PIPE)
output, errors = p.communicate()

root = Tk()
text = Text(root)
text.pack()
text.insert(END, output)
root.mainloop()

脚本是您的程序。您显然可以用其他颜色或类似的颜色打印错误。

2020-12-20