描述
单选按钮项是一个按钮,通常表示几个互斥选项之一。它在(通常)圆形按钮旁边有一个文本标签。
可以通过指定 wx 来创建一组互斥单选按钮wx.RB_GROUP组中的第一个。当另一个小组结束时,小组结束 已创建单选按钮组,或者不再有单选按钮。
样式
窗口样式(Style) | 描述 |
---|---|
wx.RB_GROUP | 标记一组新单选按钮的开始。 |
wx.RB_SINGLE | 在某些情况下,不是连续同级的单选按钮会在 Windows 中触发挂起错误(仅限)。如果发生这种情况,请添加此样式以将按钮标记为不属于组,并自行实现互斥组行为。 |
wx.RB_USE_CHECKBOX | 使用复选框按钮而不是单选按钮(目前仅在 PalmOS 上支持) |
# coding=utf-8
import wx
class MyFrame(wx.Frame):
def __init__(self):
wx.Frame.__init__(self, None, -1, size=(400, 500))
self.Center()
panle = wx.Panel(self, -1)
radioMale = wx.RadioButton(panle, -1, u'男', pos=(80, 162))
radioMale.SetForegroundColour("#0a74f7")
# radioMale.SetFont(font)
self.Bind(wx.EVT_RADIOBUTTON, self.sexChange, radioMale)
print(radioMale.GetLabel())
radioFemale = wx.RadioButton(panle, -1, u'女', pos=(150, 162))
radioFemale.SetForegroundColour("#f00")
# radioFemale.SetFont(font)
self.Bind(wx.EVT_RADIOBUTTON, self.sexChange, radioFemale)
print(radioFemale.GetLabel())
def sexChange(self, event):
sex = event.GetEventObject().GetLabel() # 获得选中项的Label(男/女)
print(sex)
class MyAPP(wx.App):
def OnInit(self):
frame = MyFrame()
frame.Show(True)
return True
if __name__ == '__main__':
app = MyAPP()
app.MainLoop()