首页 > 解决方案 > Python tkinter 按钮显示脚本到滚动文本框

问题描述

当我按下开始按钮时,它会运行另一个脚本,但只在另一个终端中显示它,而不是在我拥有的 GUI 滚动文本框中。我的问题有简单的解决方法吗?在任何地方都找不到答案。

from tkinter import *
from tkinter import ttk
from tkinter import filedialog
import sys
import os
import tkinter.scrolledtext as tkst

root = Tk()
root.title("WLP")
root.geometry("950x450")
root.iconbitmap("Vo1d.ico")
root.configure(bg='#0c0c0c')

def clickstart():
  os.system('python WLP.py')

Button1 = Button(root, text="START", bg="#0c0c0c", fg="#C0C0C0", command=clickstart)  #)
Textbox = tkst.ScrolledText(root, width=75, height=10, bg="#0c0c0c", fg="#C0C0C0")
Button1.grid(row=10, column=5, pady=15)
Textbox.grid(row=17, column=5)

root.mainloop()

标签: pythontkinterbutton

解决方案


这远不是一个好方法,但这应该有效(在导入子流程之后)

def clickstart():
    output = subprocess.run(['python', 'WPL.py'], stdout=subprocess.PIPE, check=True)
    output = str(output.stdout, encoding='utf-8')
    Textbox.insert(1.0, output)

推荐阅读