栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

【GUI】Python图形界面(一)

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

【GUI】Python图形界面(一)

Python图形界面 一、第一个界面 1. 了解模块代码的组成
  • 导入库.(PySimpleGUI)
  • 定义布局,确定行数
  • 创建窗口
  • 事件循环
  • 关闭窗口
# 1.导入库
import PySimpleGUI as sg

# 2.定义布局,确定行数
layout = [
    [sg.Text('请输入您的信息')],
    [sg.Text('姓名'),sg.InputText('小帽')],
    [sg.Text('性别'),sg.InputText('男')],
    [sg.Text('国籍'),sg.InputText('中国')],
    [sg.Button('确定'),sg.Button('取消')]
]

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

# 4.事件循环
while True:
    event, values = window.read()   # 窗口的读取,有两个返回值(1.事件,2.值)
    if event == None:   # 窗口关闭事件
        break

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

二、如何定义窗口返回值 – 事件 1. 窗口关闭事件 。
  • 窗口关闭按钮是一个特殊的按钮,在界面的右上角X
  • 编写方法:
if event==None:#窗口关闭事件
	break
if event==sg.WIN_CLOSED:#窗口关闭事件
	break
  • 注意!!!
    • 定义窗口关闭事件是至关重要的,当你忘记定义窗口关闭事件,然后又点击了窗口右上角的X按钮,
    • 它会默默的消耗你100%的CPU。
2. 按钮点击事件
if event=='确认':   #判断事件是否发生
	print('确认')     #事件发生时要处理执行的任务
	sg.Popup('执行确认任务')

if event=='取消':   #判断事件是否发生
	print('取消')     #事件发生时要处理执行的任务
	sg.Popup('执行取消任务') 
3. 判断事件是否发生的几种方式
if event=='Exit':
	sg.Popup('您点击了Exit')
	break            

 if event in ('Exit',None):
	sg.Popup('您点击了Exit或者窗口关闭按钮')
	break

 if event.startswith('确认'):
	sg.Popup('您点击了Exit**的按钮')
	break

if event.endswith('确认'):
	sg.Popup('您点击了**Exit的按钮')
	break
4. 其他元素事件
  • 像文本元素,输入框,下拉菜单等事件属性默认是关闭的。 当手动设置他们的事件属性enable_events=True为真时,他们也将具有事件属性。
# 以文本元素举例
layout=[[sg.Text('OK',enable_events=True)]]
...
if event=='OK':
	sg.Popup('文本元素OK的事件属性为真')
# 1.导入库
import PySimpleGUI as sg

# 2.定义布局,确定行数
layout = [
    [sg.Text('请输入您的信息')],
    [sg.Text('姓名',enable_events=True),sg.InputText('小帽')],
    [sg.Text('性别'),sg.InputText('男')],
    [sg.Text('国籍'),sg.InputText('中国')],
    [sg.Button('确认'),sg.Button('取消')]
]

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

# 4.事件循环
while True:
    event, values = window.read()   # 窗口的读取,有两个返回值(1.事件,2.值)
    if event == None:   # 窗口关闭事件
        break
    if event == '确认':
        sg.Popup('执行了确认任务')
    if event == '取消':
        sg.Popup('执行了取消任务')
    if event == '姓名':
        sg.Popup('这是个文本')

# 5.关闭窗口
window.close()
三、窗口读取返回值 – 值 1. 通过列表索引获取返回值-值
list=[1,2,3,4,5]
print(list)
# 输出结果为:[1, 2, 3, 4, 5]
print(list[0])
# 输出结果为:1
  • 那么如何通过列有索引来获取窗口的返回值呢?
    • 方法一:获取界面全部的值 print(values)
    • 方法二:获取界面指定的值 print(values[0]) ,print(values[1])
# 1.导入库
import PySimpleGUI as sg

# 2.定义布局,确定行数
layout = [
    [sg.Text('请输入您的信息')],
    [sg.Text('姓名'),sg.InputText('小帽')],
    [sg.Text('性别'),sg.InputText('男')],
    [sg.Text('国籍'),sg.InputText('中国')],
    [sg.Button('确认'),sg.Button('取消')]
]

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

# 4.事件循环
while True:
    event, values = window.read()   # 窗口的读取,有两个返回值(1.事件,2.值)
    if event == None:   # 窗口关闭事件
        break
    if event == '确认':
        # print(values)
        print(values[0])

# 5.关闭窗口
window.close()
2. 通过字典的键获取返回值-值
  • 界面默认的返回值是通过列表索引获得指定值
  • 但是当给元素设定唯一标识符key
  • 则该元素无法通过列表索引
  • 只能通过字典key进行索引。
  • print(values[key])
# 1.导入库
import PySimpleGUI as sg

# 2.定义布局,确定行数
layout = [
    [sg.Text('请输入您的信息')],
    [sg.Text('姓名'),sg.InputText('小帽', key='name')],
    [sg.Text('性别'),sg.InputText('男')],
    [sg.Text('国籍'),sg.InputText('中国')],
    [sg.Button('确认'),sg.Button('取消')]
]

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

# 4.事件循环
while True:
    event, values = window.read()   # 窗口的读取,有两个返回值(1.事件,2.值)
    if event == None:   # 窗口关闭事件
        break
    if event == '确认':
        print(values['name'])

# 5.关闭窗口
window.close()
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/935482.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号