wx控件之单选框与复选框

单选控件是单选按钮(wx.RadioButton),同一组的多个单选按钮互斥。

多选控件是复选框(wx.CheckBox),有时也可以单独使用。

示例:

import wx
class myFrame(wx.Frame):
    def __init__(self):
        super().__init__(None,title='多选单选控件',size=(350,120))
        panel=wx.Panel(parent=self)
        st1=wx.StaticText(panel,label='选择你喜欢的编程语言:')
        cb1=wx.CheckBox(panel,id=1,label='Python')
        cb2=wx.CheckBox(panel,id=2,label='Java')
        #cb2.SetValue(True)
        cb3=wx.CheckBox(panel,id=3,label='C++')
        self.Bind(wx.EVT_CHECKBOX,self.on_checkbox_click,id=1,id2=3)
        str2=wx.StaticText(panel,label='您的性别:')
        radio1=wx.RadioButton(panel,id=4,label='男',style=wx.RB_GROUP)
        radio2=wx.RadioButton(panel,id=5,label='女')
        self.Bind(wx.EVT_CHECKBOX,self.on_radio1_click,id=4,id2=5)
        #创建水平对齐盒子一
        hbox1=wx.BoxSizer()
        hbox1.Add(st1,flag=wx.LEFT|wx.RIGHT,border=5)
        hbox1.Add(cb1)
        hbox1.Add(cb2)
        hbox1.Add(cb3)
        #创建水平对齐盒子二
        hbox2=wx.BoxSizer()
        hbox2.Add(str2,flag=wx.LEFT|wx.RIGHT,border=5)
        hbox2.Add(radio1)
        hbox2.Add(radio2)
        #创建垂直对齐盒子
        vbox=wx.BoxSizer(wx.VERTICAL)
        vbox.Add(hbox1,flag=wx.ALL,border=10)
        vbox.Add(hbox2,flag=wx.ALL,border=10)
        panel.SetSizer(vbox)

    def on_checkbox_click(self,event):
        cb=event.GetEventObject()
        print('选择:{0},状态:{1}'.format(cb.GetLabel(),event.IsChecked()))
    def on_radio1_click(self,event):
        rb=event.GetEventObject()
        print('第一组{0}被选中'.format(rb.GetLabel()))
app = wx.App()
frm=myFrame()
frm.Show()
app.MainLoop()

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Roy Teng

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值