首页 > 其他分享 >003.PySimpleGUI

003.PySimpleGUI

时间:2022-08-31 14:35:33浏览次数:40  
标签:break Popup PySimpleGUI 003 window key sg event

1.基本模板

# 1.导入库
import PySimpleGUI as sg

# 2.定义布局、确定行数
layout = [
    [],
    [],
    [],
    [],
    []
]

# 3.创建窗口
window = sg.Window('Python GUI',layout)

# 4.事件循环
while True:
    event,values = window.read()
    if event == None:
        break

# 5.关闭窗口
window.close()

2.简单的例子001

 

 

# 1.导入库
import PySimpleGUI as sg

# 2.定义布局、确定行数
layout = [
    [sg.Text("请输入您的信息")],
    [sg.Text("姓名", enable_events=True), sg.InputText('张三', key='-name-')],  # 文本输入框
    [sg.Text("性别"), sg.InputText('男', key='-sex-')],
    [sg.Text("民族"), sg.InputText('汉', key='-nationality-')],
    [sg.Button('确定'), sg.Button('取消')]  # 按钮
]

# 3.创建窗口
window = sg.Window('Python GUI', layout)

# 4.事件循环
while True:
    event, values = window.read()
    # 4.1 按键点击事件
    if event == '确定':
        print('确定')  # 确定事件发生时要处理的任务
        sg.Popup(values["-name-"], values["-sex-"], values["-nationality-"])  # 执行确认任务
        #  设定key,通过key获取值

    if event == '取消':
        print('取消')
        sg.Popup('取消')
    # 4.1.X 其他点击事件
    if event == 'Exit':
        sg.Popup('点击了Exit')
        break
    if event in ('Exit', None):
        sg.Popup('点击了Exit或窗口关闭')
        break
    if event.startswith('确认'):
        sg.Popup('点击以确认开头的按钮都执行')
        break
    if event.endswith('确认'):
        sg.Popup('点击以确认结尾的按钮都执行')
        break

    # 4.2窗口关闭事件
    if event == None:
        break
    # 与上述窗口关闭事件相同
    # if event == sg.WIN_CLOSED:
    #     break

    # 4.3 其他元素事件
    # 文本元素/输入框/下拉菜单等事件属性默认关闭的,手动设定enable_events=True,就可以执行事件
    if event == '姓名':
        sg.Popup('这个文本,别点了!')
# 5.关闭窗口
window.close()

2.简单的例子001

标签:break,Popup,PySimpleGUI,003,window,key,sg,event
From: https://www.cnblogs.com/shuimohei/p/16642967.html

相关文章

  • 0039-Bytes-bytes源码阅读
    环境Time2022-05-28Rust1.61.0Bytes1.1.0前言说明参考:https://github.com/tokio-rs/bytes目标实现bytes.rs中的一部分方法。线程安全实现了两个线程安全......
  • 0035-Bytes-bytes源码阅读
    环境Time2022-05-28Rust1.61.0Bytes1.1.0前言说明参考:https://github.com/tokio-rs/bytes目标了解从静态生命周期的字节中创建bytes.rs,以及实现一部分方法。......
  • 0036-Bytes-bytes源码阅读
    环境Time2022-05-28Rust1.61.0Bytes1.1.0前言说明参考:https://github.com/tokio-rs/bytes目标实现bytes.rs中的一部分方法。Drop通过自定义的Vtable来......
  • 0037-Bytes-bytes源码阅读
    环境Time2022-05-28Rust1.61.0Bytes1.1.0前言说明参考:https://github.com/tokio-rs/bytes目标实现bytes.rs中的一部分方法。Deref通过实现Deref来实现......
  • 0038-Bytes-bytes源码阅读
    环境Time2022-05-28Rust1.61.0Bytes1.1.0前言说明参考:https://github.com/tokio-rs/bytes目标实现bytes.rs中的一部分方法。split_off在中间进行切割,分成......
  • 0034-Bytes-bytes源码阅读
    环境Time2022-05-27Rust1.61.0Bytes1.1.0前言说明参考:https://github.com/tokio-rs/bytes目标了解bytes.rs中Bytes的结构定义。lib.rs首先将bytes.rs......
  • 0032-Rust-自实现迭代器
    环境Time2022-05-21Rust1.61.0前言说明参考:https://doc.rust-lang.org/std/iter/index.html目标接前一节,在迭代的过程中,修改每个迭代的元素。自定义类型#[der......
  • 0033-Rust-实现递归迭代
    环境Time2022-05-21Rust1.61.0前言说明参考:https://fasterthanli.me/articles/recursive-iterators-rust目标对于递归类型的结构,实现递归迭代。自定义类型str......
  • pysimplegui学习-图片base64转换
        ......
  • P1003 [NOIP2011 提高组] 铺地毯 题解
    题目传送门[NOIP2011提高组]铺地毯题目描述为了准备一个独特的颁奖典礼,组织者在会场的一片矩形区域(可看做是平面直角坐标系的第一象限)铺上一些矩形地毯。一共有\(n\)......