wxPython复选框true或false

时间:2014-05-01 08:06:09

标签: python wxpython append

所以我想说我在wxPython中有一个复选框:

cb1 = wx.CheckBox(panelWX, label='TIME', pos=(20, 20))
cb1.SetValue(False)

有没有一种简单的方法可以查看它是否已更改为true? 可能这样吗?

if cb1.SetValue == True:

从那时起,它附加了一些真实的行为吗? 像这样:

selectionSEM1.append('Time')

2 个答案:

答案 0 :(得分:2)

您只需要使用GetValue()方法。从wxpython wiki看这个例子:

#!/usr/bin/python

# checkbox.py

import wx

class MyCheckBox(wx.Frame):
    def __init__(self, parent, id, title):
        wx.Frame.__init__(self, parent, id, title, size=(250, 170))

        panel = wx.Panel(self, -1)
        self.cb = wx.CheckBox(panel, -1, 'Show Title', (10, 10))
        self.cb.SetValue(True)

        wx.EVT_CHECKBOX(self, self.cb.GetId(), self.ShowTitle)

        self.Show()
        self.Centre()

    def ShowTitle(self, event):
        if self.cb.GetValue():#here you check if it is true or not
            self.SetTitle('checkbox.py')
        else: self.SetTitle('')


app = wx.App(0)
MyCheckBox(None, -1, 'checkbox.py')
app.MainLoop()

答案 1 :(得分:0)

您想使用Events

def do_something(event):
    box = event.GetEventObject()
    setting = box.GetValue()
    if setting:
            selectionSEM1.append('Time')
    event.Skip()

cb1.Bind(wx.EVT_CHECKBOX, do_something, cb1)