2025年3月30日 星期日 甲辰(龙)年 月廿九 设为首页 加入收藏
rss
您当前的位置:首页 > 计算机 > 编程开发 > Python

python --pysimplegui开发gui界面

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

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))

结果

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