我正在使用帶有複選框的CustomTreeCtrl,但我無法弄清楚如何確定選中哪個複選框。我看着http://xoomer.virgilio.it/infinity77/wxPython/Widgets/wx.TreeCtrl.html#GetSelection,並把這個在一起:如何從CustomTreeCtrl中獲得複選框選擇
import string
import os
import sys
import wx
import wx.lib.agw.customtreectrl as CT
class MyFrame(wx.Frame):
def __init__(self, parent):
wx.Frame.__init__(self, parent, -1, "CustomTreeCtrl Demo")
custom_tree = CT.CustomTreeCtrl(self, agwStyle=wx.TR_DEFAULT_STYLE)
root = custom_tree.AddRoot("The Root Item")
for y in range(5):
last = custom_tree.AppendItem(root, "item %d" % y)
for z in range(5):
item = custom_tree.AppendItem(last, "item %d" % z, ct_type=1)
self.Bind(CT.EVT_TREE_ITEM_CHECKED, self.ItemChecked)
def ItemChecked(self, event):
print("Somebody checked something")
print(event.GetSelections())
app = wx.PySimpleApp()
frame = MyFrame(None)
app.SetTopWindow(frame)
frame.Show()
app.MainLoop()
當我檢查中,我得到了回溯:「AttributeError的:‘TreeEvent’對象有沒有屬性‘GetSelections’」如何閱讀這些箱子是任何建議選擇將是偉大的!
謝謝!這很有幫助。但是,GetSelection方法返回哪個項目被選中,而沒有被選中。你知道是否有類似的方法來查找哪些盒子被檢查? – MooreJD2
沒有辦法做到這一點。當您檢查項目或迭代項目時,我會管理您添加/刪除的列表,並且我們會通過IsChecked找到已檢查的項目。 –