在wx.CheckListBox中以编程方式取消选中复选框

1 投票
3 回答
2568 浏览
提问于 2025-04-16 01:15

有没有办法可以取消选中wx.CheckListBox中的复选框?我需要实现一个“取消全选”的按钮,但似乎找不到相关的方法……虽然有很多方法可以用来设置复选框的状态。

3 个回答

0

使用 void wxCheckListBox::Check Check(int item, bool check = true) 方法可以取消每个项目的选中状态。你可以通过 unsigned int wxControlWithItems::GetCount GetCount() const 方法来获取项目的数量(wxCheckListBox 是从 wxControlWithItems 这个类派生出来的)。

2

试试这个:

for cb in mycblist.Checked:
   mycblist.Check(cb, False)
1

Check()这个函数有一个可选的“检查”参数,具体可以查看这个链接:http://docs.wxwidgets.org/stable/wxchecklistbox.html#wxchecklistboxcheck

举个例子:clb.Check(itemnum, check=False)

撰写回答