- PySimpleGUI 教程
- PySimpleGUI - 主页
- PySimpleGUI - 简介
- PySimpleGUI - 环境设置
- PySimpleGUI - Hello World
- PySimpleGUI - 弹出窗口
- PySimpleGUI - 窗口类
- PySimpleGUI - 元素类
- PySimpleGUI - 事件
- PySimpleGUI - 菜单栏
- PySimpleGUI - Matplotlib 集成
- PySimpleGUI - 使用 PIL 工作
- PySimpleGUI - 调试器
- PySimpleGUI - 设置
- PySimpleGUI 实用资源
- PySimpleGUI - 快速指南
- PySimpleGUI - 实用资源
- PySimpleGUI - 讨论
PySimpleGUI - 单选按钮元素
单选钮是一种切换按钮类型。它在每次单击中将其状态从 True 更改为 False,反之亦然。一个标题显示在一个圆形可单击区域的右侧,圆形可单击区域包含一个点选取指示符。
当多个单选按钮被添加为一个组的成员时,它们是互斥的,即只有一颗按钮可以有 True 状态,而其余的按钮变为 False。
除了从元素类继承的公用属性之外,Radio 对象在单选按钮的上下文中具有以下重要属性 −
text − 显示在按钮旁边的文本
group_id − 将多个单选按钮组合在一起。
default − 将其设置为 True 适用于最初选定的组中的一个元素
如果具有相同 group_id 的所有按钮的 “enable_events” 属性设置为 True,则会传递选定项更改事件。
如果选定,“get()” 方法返回 True,否则返回 false。“update()” 方法被覆盖以修改 Radio 元素的属性。这些属性为 −
value − 如果为 True,则更改为选定并设置组中的其他值未选定
text − 单选按钮旁边显示的文本
disabled − 元素的禁用或启用状态
在以下示例中,使用三组单选按钮。该代码计算贷款金额的利息。利率取决于用户选择的性别(女性少 0.25%)、期限和贷款类型(个人或企业 - 企业贷款多 3%)。
import PySimpleGUI as psg psg.set_options(font=("Arial Bold", 14)) l1 = psg.Text("Enter amount") l2 = psg.Text("Gender") l3 = psg.Text("Period") l4 = psg.Text("Category") l5 = psg.Text(" ", expand_x=True, key='-OUT-', justification='center') t1 = psg.Input("", key='-AMT-') r11 = psg.Radio("Male", "gen", key='male', default=True) r12 = psg.Radio("Female", "gen", key='female') r21 = psg.Radio("1 Yr", "per", key='one') r22 = psg.Radio("5 Yr", "per", key='five', default=True) r23 = psg.Radio("10 Yr", "per", key='ten') r31 = psg.Radio("Personal", "ctg", key='per', default=True) r32 = psg.Radio("Business", "ctg", key='bus') b1 = psg.Button("OK") b2 = psg.Button("Exit") layout = [[l1, t1], [l2, r11, r12], [l3, r21, r22, r23], [l4, r31, r32], [b1, l5, b2] ] window = psg.Window('Radio button Example', layout, size=(715, 200)) while True: rate = 12 period = 5 event, values = window.read() print(event, values) if event in (psg.WIN_CLOSED, 'Exit'): break if event == 'OK': if values['female'] == True: rate = rate - 0.25 if values['one'] == True: rate = rate + 1 period = 1 if values['ten'] == True: rate = rate - 1 period = 10 if values['bus'] == True: rate = rate + 3 amt = int(values['-AMT-']) print(amt, rate, period) interest = amt * period * rate / 100 window['-OUT-'].update("Interest={}".format(interest)) window.close()
它会生成以下输出窗口 −
pysimplegui_element_class.htm
广告