首页 > 解决方案 > 需要简单的示例代码来使用 pysimplegui 创建 ui

问题描述

我正在尝试使用 pysimplegui 为 api 调用心跳创建一个 ui,该功能非常简单。我将每 5 分钟调用一次发送 api 调用请求,以检查服务器是否还活着,如果还活着,然后显示为 ok,如果 api 调用失败,然后显示 not ok 按钮我只需要一个简单的代码开始,这样我就可以修改之后从未使用过pysimplegui 之前

用户界面只需要像这样:

API 1 - OK / NOT OK
API 2 - OK / NOT OK

如果有人可以提供帮助,将不胜感激

谢谢

标签: python-2.7

解决方案


不适用于 Python 2.7

如果不需要太多时间来获取心跳状态,则使用timeout方法read的选项循环sg.Window,否则需要多线程。

from random import choice
import PySimpleGUI as sg

def heartbeat(port):
    return choice(choices)

choices = [False] + [True]*10

sg.theme("DarkBlue3")
sg.set_options(font=("Courier New", 12))

layout = [
    [sg.Text("API 1   ", key="API 1")],
    [sg.Text("API 2   ", key="API 2")],
]
window = sg.Window('Title', layout, finalize=True)

while True:

    event, values = window.read(timeout=300000)     # 5 minutes = 300000ms
    if event == sg.WINDOW_CLOSED:
        break
    elif event == sg.TIMEOUT_KEY:
        val1 = "API 1 OK" if heartbeat(1) else "API 1 NG"
        val2 = "API 2 OK" if heartbeat(2) else "API 2 NG"
        window['API 1'].update(val1)
        window['API 2'].update(val2)

window.close()

推荐阅读