时间:2010-07-26 08:39:19

标签: python tkinter

3 个答案:

答案 0 :(得分:9)

答案 1 :(得分:1)

这是一个老问题,但我找到了一个我希望与社区分享的解决方案。我的示例将工作目录列表传递给Tk窗口。我在Windows 8上使用Python 3.6。我使用Pydev通过Jupyter Notebook和Eclipse运行代码。

import os
from tkinter import *
from subprocess import Popen, PIPE
root = Tk()
text = Text(root)
text.pack()

def ls_proc():
    return Popen(['ls'], stdout=PIPE)

with dir_proc() as p:
    if p.stdout:
        for line in p.stdout:
            text.insert(END, line)
    if p.stderr:
        for line in p.stderr:
            text.insert(END, line)

root.mainloop()

答案 2 :(得分:0)

log_box_1 = tk.Text(root, borderwidth=3, relief="sunken")

with subprocess.Popen("ls -la", shell=True, stdout=subprocess.PIPE, bufsize=1, universal_newlines=True) as p:
            for line in p.stdout:
                log_box_1.insert(tk.END, line)

来自here