我一直在處理這段代碼,並將輸出發送到終端。我如何讓輸出打印在tkinter GUI窗口中?代碼如下:如何獲得tkinter的輸出而不是CLI打印到GUI中?
import sys
import os
from tkinter import *
def ping():
myinptext = entry.get()
os.system("ping "+entry.get()+" -c 2")
myGui = Tk()
entry = StringVar()
myGui.geometry('300x300')
myGui.title("Get output inside GUI")
mylabel = Label(myGui,text="Enter target IP or host as required.").pack()
mybutton = Button(myGui,text ="Ping Test",command = ping).pack()
myEntry = Entry(myGui,textvariable=entry).pack()
myGui.mainloop()
閱讀關於[subprocess](https://docs.python.org/3/library/subprocess.html)以及如何獲得'stdout' – furas
'Widget(...)。pack()'返回'無'所以你把'None'分配給'mylabel','mybutton'和'myEntry'。如果你真的需要變量'mylabel',你必須分兩步做'mylabel = Label(..)'和'mylabel.pack()'。但在你的例子中,你不需要這個變量,所以你可以不使用變量 - 'Label(...)。pack()' – furas