您当前的位置:首页 > 计算机 > 编程开发 > Python

python --pysimplegui开发gui界面

时间:08-15来源:作者:点击数:

python --pysimplegui开发gui界面

安装

pip install pysimplegui

基础

from PySimpleGUI import Window, Button, Text, WIN_CLOSED
t1 = Text('test')
b1, b2 = Button('hello gui', key='b1'), Button('hai gui2', key='b2')

layout = [
    [t1, ],
    [b1, b2]
]

window = Window('My GUI', layout)  # 以layout为布局创建窗体

while True:
    event, value = window.read()
    print(f'key>>>{event};value>>>{value}')
    if event == WIN_CLOSED:
        break
    if event == 'b1':
        t1.update('update')
    if event == 'b2':
        t1.update('test')

window.close()

结果

在这里插入图片描述

【注】 layout 数组里的每一行和窗口里的行一一对应

布局详解

公有属性

size 接受一个int元组。第一位表示宽度,第二位表示高度。宽和高一般以字符为计量单位。例如,下面的文本显示结果如下:

from PySimpleGUI import Window, Button, Text, WIN_CLOSED
t1 = Text('test', size=(25, 19), font='Consolas')
b1, b2 = Button('hello gui', key='b1'), Button('hai gui2', key='b2')

layout = [
    [t1, ],
    [b1, b2]
]

window = Window('My GUI', layout)  # 以layout为布局创建窗体

while True:
    event, value = window.read()
    print(f'key>>>{event};value>>>{value}')
    if event == WIN_CLOSED:
        break
    if event == 'b1':
        t1.update('update')
    if event == 'b2':
        t1.update('test')

window.close()

结果

在这里插入图片描述

常用控件

文本控件

函数 介绍
sg.Text() 或者 sg.T() 静态显示文本
sg.Input() 或 sg.In() 或 sg.InputText() 文本输入框
sg.Listbox() 多行列表文本框
sg.Multiline() 大文本框

按键控件

函数 介绍
sg.Button() 或 sg.B() 按键
sg.Exit() 退出按键
sg.OK() 确认按键
sg.Cancel() 取消按键
sg.Submit() 提交按键

弹窗控件

函数 介绍
sg.popup() 单一确认按键弹窗
sg.popup_ok() 默认ok按键弹窗
sg.popup_yes_no() 带Yes和No按键的弹窗
sg.popup_cancel() 带cancel按钮的弹窗
sg.popup_ok_cancel() 带OK和cancel按钮的弹窗
sg.popup_error() 带红色error按钮的弹窗
sg.popup_yes_no() 带Yes和No按键的弹窗
sg.popup_auto_close() 几秒后自动关闭的弹窗
sg.popup_scrolled() 文字内容弹窗
sg.popup_get_text() 获取用户输入的弹窗
sg.popup_get_file() 文件选择弹窗,可用于文件保存
sg.popup_get_folder() 文件夹选择弹窗
sg.one_line_progress_meter()  

文件(夹)选择控件

函数 介绍
sg.FileBrowse() 文件选择
sg.FolderBrowse() 文件夹选择

单选/复选框

函数 介绍
sg.Checkbox() 多选框
sg.Radio() 单选框
sg.InputCombo() 下拉列表框
sg.InputOptionMenu() 下拉选项

其他

函数 介绍
sg.Menu() 菜单
sg.Frame()
sg.Column() 定义列
sg.ProgressBar() 进度表/进度条
sg.Slider() 滚动条
sg.Print() 打印到调试窗口

公共参数

  • key,指定键名
  • size=(8,6),控件大小
  • font = (‘宋体’,15),字体,前者是字体类型,后者是字体大小
  • enable_events,是否触发事件
  • justification=‘center’,居中

带逻辑写法

import PySimpleGUI as sg

progress = sg.ProgressBar(100)
num1_inp = sg.Input(size=5)
num2_inp = sg.Input(size=5)
result_txt = sg.Text()
add_btn = sg.Button('add')

layout = [
    [num1_inp, num2_inp, result_txt],
    [progress],
    [add_btn]
]

window = sg.Window('slow calculator', layout)

while True:
    event, value = window.read()
    if event == sg.WINDOW_CLOSED: break
    if event == 'add':
        num1 = int(num1_inp.get())
        num2 = int(num2_inp.get())
        result_txt.update(str(num1 + num2))

结果

在这里插入图片描述
方便获取更多学习、工作、生活信息请关注本站微信公众号城东书院 微信服务号城东书院 微信订阅号
推荐内容
相关内容
栏目更新
栏目热门
本栏推荐