【发布时间】:2020-11-04 12:46:11
【问题描述】:
我想在 Python 中尝试一些 GUI 的东西。我是 Python 和 PySimpleGUI 的新手。我决定制作一个程序,当给定一个 IP 地址时,它会 ping 它并在弹出窗口中显示回复。 (我知道超级简单。)
它工作得很好,但是:它在控制台中显示响应,但我希望它在 GUI 中。
是否可以将控制台输出保存在变量中并以这种方式显示在 GUI 中?
我希望这个问题有意义:)
这是我的代码:
#1 Import:
import PySimpleGUI as sg
import os
#2 Layout:
layout = [[sg.Text('Write the IP-address you want to ping:')],
[sg.Input(key='-INPUT-')],
[sg.Button('OK', bind_return_key=True), sg.Button('Cancel')]]
#3 Window:
window = sg.Window('Windows title', layout)
#4 Event loop:
while True:
event, values = window.read()
os.system('ping -n 1 {}'.format(values['-INPUT-']))
if event in (None, 'Cancel'):
break
#5 Close the window:
window.close()
【问题讨论】:
-
PySimpleGUI GitHub 上的演示程序有几个程序可以准确地向您展示如何执行此操作。 Demo_Script_Launcher_Realtime_Output.py 将使用 Popen 启动一个程序,然后在您的窗口中实时显示输出。 Demoi 程序是解决此类问题的绝佳资源。
-
谢谢@MikeyB - 会检查出来!
标签: python operating-system pysimplegui