按钮元素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()