python - 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()
解决方案
这远不是一个好方法,但这应该有效(在导入子流程之后)
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)
推荐阅读
- android - 如何在 Android Studio 中设置 Android App Bundle 的名称?
- android - 如何在 onStartCommand() 方法之外的服务中获取上下文?
- .net - UMBRACO - 帮助后缺少内容 - 为什么?
- api - 如何调用 Phishtank API 获取 JSON 响应?
- flask - Flask Blueprint:如何在不同的端口运行每个应用程序?
- node.js - 节点服务器中的 Express-rate-limit 与 NGINX
- java - Api Response 中的 Jsonkey 有 $
- php - 日期和时间比较运算符 >= 不显示相等的日期
- jquery - 使用 Jquery 和 css 的模态
- javascript - AdMob Cordova 未在 Cordova 应用程序中显示广告横幅