当前位置: 首页 > 工具软件 > PySimpleGUI > 使用案例 >

Python使用PySimpleGUI创建简单的控件

聂华翰
2023-12-01

根据PySimple文档,简单的使用一些控件, 代码片.

// An highlighted block
import time
import PySimpleGUI as sg


def CreatForm():
  
    sg.theme('DarkAmber') 
    # 所有窗口控件都可放在一个layout中
    layout = [
        # 下拉选择框可以是自定义数据,也可以是集合
        [sg.Text('下拉选择框'), sg.InputCombo(['1','2'], size=(20, 3), key="ip", readonly=True)],
        [sg.CalendarButton('开始时间', key='st', format=('%Y-%m-%d 00:00')), sg.InputText("", key="s_time")],
        [sg.CalendarButton('结束时间', format=('%Y-%m-%d 23:59')), sg.InputText("", key="f_time")],
        [sg.Text('输入框'), sg.InputText("", key="mrp")],
        [sg.Button('下载'), sg.Button('取消')]]

    # 创建窗体
    window = sg.Window('SimpleUI', layout)
    # 利用循环判断事件的发生

    while True:
        event, values = window.read()
        # 判断某个事件的发生
        if event == sg.WIN_CLOSED or event == '取消':
            break
        sg.popup("弹窗")
        i = 0
        while i<100:
            # 进度条控件
            sg.one_line_progress_meter(
                # 标题
                '进度条',
                # 当前进度值
                i + 1,
                # 最大值
                100,
                # 进度条事件的key名称
                'key',
                # 可以写实时复制进度相关的值
                "TEST" + str(i),
                # 窗口布局方式 h为水平进度条 v为垂直进度条
                orientation='h'
            )
            time.sleep(0.02)  # 模拟0.02s 完成了千分之一的任务
            i += 1
        # 运行完成可根据key名称关闭窗口
        sg.one_line_progress_meter_cancel("key")
    window.close()


if __name__ == '__main__':
    CreatForm()
 类似资料: