- 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
廣告