pysimplegui单选按钮元素选取多个如何获取选取数值
时间: 2023-09-18 13:10:22 浏览: 270
PySimpleGUI 的 `sg.Radio` 元素是用来创建单选按钮的,它只能让用户选取其中的一个选项。如果您需要让用户选取多个选项,可以使用 `sg.Checkbox` 元素来创建复选框。
使用 `sg.Checkbox` 元素创建复选框的方法与使用 `sg.Radio` 元素创建单选按钮类似,不同之处在于复选框可以选取多个选项。要获取复选框的选取值,您可以使用窗口对象的 `read` 方法读取用户的输入,然后使用字典对象中的键来获取各个复选框的状态。
以下是一个示例代码,演示了如何使用 `sg.Checkbox` 元素创建复选框并获取用户的选取值:
```
import PySimpleGUI as sg
# 创建界面布局
layout = [[sg.Text('请选择以下选项:')],
[sg.Checkbox('选项1', key='option1'),
sg.Checkbox('选项2', key='option2'),
sg.Checkbox('选项3', key='option3')],
[sg.Button('确定')]]
# 创建界面窗口
window = sg.Window('复选框示例', layout)
# 主循环
while True:
event, values = window.read()
if event == sg.WINDOW_CLOSED:
break
if event == '确定':
options = [k for k, v in values.items() if k.startswith('option') and v]
sg.popup(f'您选择了以下选项:{options}')
# 关闭窗口
window.close()
```
在上面的例子中,我们定义了三个复选框,然后在主循环中读取用户的输入。当用户点击确定按钮时,我们可以使用 `values` 字典对象来获取各个复选框的状态,如果一个复选框被选中,其对应的值为 True,否则为 False。我们可以使用字典对象的 `items` 方法来遍历所有复选框的状态,然后获取选取的选项列表。
阅读全文