0
私はultimatelistctrl内の各チェックボックスの状態を取得する方法を把握しようとしています。私はまた、すべてのボックスをチェックしたり、チェックを外す必要があります。listctrlのチェックボックスの状態を取得
これはこのプロジェクトで私の2番目の試みです。最初はlistctrlの形式を使用していませんでしたが、機能的ですがかなり醜いです。私は新しいバージョンで同じバインディング手法を使用しようとしましたが、ここでは適用されないようです。 ご協力いただきありがとうございます。
これは新しいバージョンであるため、私は新しいスレッドを開始しました。ここでは、以前のいずれかです。 Previous question/answer
import sys
import wx
import wx.lib.agw.ultimatelistctrl as ULC
class MyFrame(wx.Frame):
def __init__(self, parent):
wx.Frame.__init__(self, parent, -1, "Checkbox grid based on UltimateListCtrl Demo", size=(600,300))
agwStyle = (ULC.ULC_HAS_VARIABLE_ROW_HEIGHT | wx.LC_REPORT | wx.LC_VRULES | wx.LC_HRULES | wx.LC_SINGLE_SEL)
self.mylist = mylist = ULC.UltimateListCtrl(self, wx.ID_ANY, agwStyle=agwStyle)
mylist.InsertColumn(0,"", width=100)
for col in range(1,25):
col_num=str(col-1)
if col==0:col_num=""
mylist.InsertColumn(col,col_num, width=20)
self.checkboxes = {}
self.boxes=[]
for day in range(7):
days=["Monday", "Sunday", "Saturday", "Friday", "Thursday", "Wednesday", "Tuesday"]
index = mylist.InsertStringItem(1, "" + days[day])
mylist.SetStringItem(index, 1, "")
for boxes in range(1,25):
for index in range(7):
mylist.SetStringItem(index, boxes, "")
checkBox = wx.CheckBox(mylist, wx.ID_ANY, "", wx.DefaultPosition, wx.DefaultSize, 0)
self.checkboxes[checkBox.GetId()] = index
mylist.SetItemWindow(index, boxes, checkBox)
self.boxes.append(self.checkboxes)
sizer = wx.BoxSizer(wx.VERTICAL)
sizer.Add(mylist, 1, wx.EXPAND)
self.SetSizer(sizer)
app = wx.App()
frame = MyFrame(None)
app.SetTopWindow(frame)
frame.Show()
app.MainLoop()
優れ、感謝ロルフ。 –