- PySimpleGUI 教程
- PySimpleGUI - 首页
- PySimpleGUI - 简介
- PySimpleGUI - 环境设置
- PySimpleGUI - Hello World
- PySimpleGUI - 弹出窗口
- PySimpleGUI - 窗口类
- PySimpleGUI - 元素类
- PySimpleGUI - 事件
- PySimpleGUI - 菜单栏
- PySimpleGUI - Matplotlib 集成
- PySimpleGUI - 使用 PIL
- PySimpleGUI - 调试器
- PySimpleGUI - 设置
- PySimpleGUI 有用资源
- PySimpleGUI - 快速指南
- PySimpleGUI - 有用资源
- PySimpleGUI - 讨论
PySimpleGUI - 复选框元素
复选框也是一个具有两种状态的切换按钮:选中和未选中。它显示一个矩形框,单击时会显示一个勾号(或者如果已经有勾号则将其移除),并在其旁边显示一个标题。
通常,复选框控件用于允许用户从可用选项中选择一个或多个项目。与单选按钮不同,GUI 窗口上的复选框不属于任何组。因此,用户可以进行多个选择。
复选框类的对象用以下特定参数声明
PySimpleGUI.Checkbox(text, default, checkbox_color)
这些是复选框类特有的属性:
text − 这是一个字符串,表示复选框旁边显示的文本
default − 如果希望此复选框最初处于选中状态,则设置为 True
checkbox_color − 可以指定带有勾号的框的背景颜色。
除此之外,还可以向构造函数提供其他从 Element 类继承的属性的常用关键字参数。
复选框类中继承但被重写的两种重要方法是:
get() − 它返回此复选框的当前状态
update() − 复选框发出选择更改事件。响应窗口上的事件,更新复选框元素的一个或多个属性。这些属性是
value − 如果为 True 则选中复选框,如果为 False 则清除选中状态。
text − 复选框旁边显示的文本
在下面的示例中,一组三个单选按钮代表学院中可用的院系专业。根据选择的院系,将为用户提供该院系的三个科目,供用户从可用选项中选择一个或多个。
import PySimpleGUI as psg psg.set_options(font=("Arial Bold",14)) l1=psg.Text("Enter Name") l2=psg.Text("Faculty") l3=psg.Text("Subjects") l4=psg.Text("Category") l5=psg.Multiline(" ", expand_x=True, key='-OUT-', expand_y=True,justification='left') t1=psg.Input("", key='-NM-') rb=[] rb.append(psg.Radio("Arts", "faculty", key='arts', enable_events=True,default=True)) rb.append(psg.Radio("Commerce", "faculty", key='comm', enable_events=True)) rb.append(psg.Radio("Science", "faculty", key='sci',enable_events=True)) cb=[] cb.append(psg.Checkbox("History", key='s1')) cb.append(psg.Checkbox("Sociology", key='s2')) cb.append(psg.Checkbox("Economics", key='s3')) b1=psg.Button("OK") b2=psg.Button("Exit") layout=[[l1, t1],[rb],[cb],[b1, l5, b2]] window = psg.Window('Checkbox Example', layout, size=(715,250)) while True: event, values = window.read() print (event, values) if event in (psg.WIN_CLOSED, 'Exit'): break if values['comm']==True: window['s1'].update(text="Accounting") window['s2'].update(text="Business Studies") window['s3'].update(text="Statistics") if values['sci']==True: window['s1'].update(text="Physics") window['s2'].update(text="Mathematics") window['s3'].update(text="Biology") if values['arts']==True: window['s1'].update(text="History") window['s2'].update(text="Sociology") window['s3'].update(text="Economics") if event=='OK': subs=[x.Text for x in cb if x.get()==True] fac=[x.Text for x in rb if x.get()==True] out=""" Name={} Faculty: {} Subjects: {} """.format(values['-NM-'], fac[0], " ".join(subs)) window['-OUT-'].update(out) window.close()
运行以上代码。选择一个院系名称,并在相应的复选框中标记勾号以注册选择。请注意,科目会随着院系选项的更改而更改。
按下“确定”按钮,以便在多行框中打印所选内容,如下所示:
pysimplegui_element_class.htm
广告