按钮元素Button sg.Button()支持简写sg.B()
Button(
button_text='',
#默认值设定,可以为空字符串。
#可以设置为任意类型的值
key=None,
#元素的唯一标识符
#书写规范'-BUTTON-'
tooltip=None,
# 悬浮文本str
# 当光标置于该元素上方时,设置的文本会显示
disabled=False,
#bool:元素禁用
#为Ture时元素禁用,无法点击
image_filename=None,
#图片路径,按钮用图片表示
#只支持gif和png格式
#和image_date二选一使用
image_date=None,
#图片base64格式,按钮用图片表示
#和image_filename二选一使用
image_size=None,
#按钮图片大小
image_subsample=None,
#图片大小设置
#为2时--原图的二分之一大小
#2=二分之一,3=三分之一,4=四分之一,etc
broder_width=None,
# 按钮边界线的宽度设置
size=(None,None),
#设置按钮尺寸(宽,高)
auto_size_button=None,
#bool 按钮上文本自动调节
button_color=None,
#按钮颜色
#str:(文本颜色,按钮颜色)
disable_button_color=None,
#禁用时按钮颜色
#str:(文本颜色,按钮颜色)
font=None,
#字体名称,字体大小(‘黑体’,16)
bind_return_key=False,
#绑定按钮到回车键
#设定为True时按下回车键相当于点击此元素
focus=False,
# bool 设定焦点
# 如果为Ture 则焦点在此元素
pad=None,
# (int,int)or((int,int),(int,int))
# or (int,(int,int))or ((int.int),int)
# ((左,右),(上,下))or ((左/右),(上,下))or((左,右),(上/下))
visible=True
#元素的可见状态
#如果设置为False,则元素不可见
)
将图片转换到base64格式:
improt base64
#二进制方式打开图片文件
f=open(r'C:\Users\Public\Pictures\img.PNG','rb')
#读取文件内容,转换为base64编码格式
ls_f=base64.b64encode(f.read())
print(ls_f)
f.close()
元素可以更新的属性只有以下几种:
window[key].update()
update(
text=None,
#str 更新输入框内的文本
button_color=None,
#按钮颜色
#str:(文本颜色,按钮颜色)
disable=None,
#bool 更新元素的禁用状态
image_filename=None,
# 图片路径,按钮用图片表示
# 只支持gif和png格式
# 和image_date二选一使用
image_date=None,
# 图片base64格式,按钮用图片表示
# 和image_filename二选一使用
visible=None,
#bool 更新元素的可见性
image_subsample=None,
# 图片大小设置
# 为2时--原图的二分之一大小
# 2=二分之一,3=三分之一,4=四分之一,etc
disable_button_color=None,
# 禁用时按钮颜色
# str:(文本颜色,按钮颜色)
image_size=None,
#按钮图片大小
)
小练习
import PySimpleGUI as sg
layout = [
[sg.B('开始',key='-START-',button_color=(None,'yellow')),
sg.B('重置',key='-RESET-',button_color=(None,'black'),disabled=True),
sg.B('结束',key='-END-',button_color=(None,'red'))]
]
window= sg.Window('Python GUI',layout)
while True:
event,values=window.read()
print(event,values)
if event=='-START-':
window['-START-'].update(disabled=True)
window['-RESET-'].update(disabled=False)
window['-RESET-'].update(button_color=(None,'green'))
window['-START-'].update(button_color=(None,'black'))
elif event=='-RESET-':
window['-START-'].update(disabled=False)
window['-RESET-'].update(disabled=True)
window['-RESET-'].update(button_color=(None, 'black'))
window['-START-'].update(button_color=(None, 'yellow'))
else:
break
window.close()