wxpythonモジュールでチェックボックス付きのリストコントロールが使えるようなので、
試しに使ってみたのですが、どうもチェックボックスにチェックできないのですが、
何か不備がありますでしょうか。
以下、ソースコードです。
python
1import wx 2import wx.lib.mixins.listctrl as listmix 3 4class TestListCtrl(wx.ListCtrl, listmix.CheckListCtrlMixin, listmix.ListCtrlAutoWidthMixin): 5 def __init__(self, *args, **kwargs): 6 wx.ListCtrl.__init__(self, *args, **kwargs) 7 listmix.CheckListCtrlMixin.__init__(self) 8 listmix.ListCtrlAutoWidthMixin.__init__(self) 9 self.setResizeColumn(3) 10 11 def OnCheckItem(self, index, flag): 12 print(index, flag) 13 14class MainWindow(wx.Frame): 15 def __init__(self, *args, **kwargs): 16 wx.Frame.__init__(self, *args, **kwargs) 17 self.panel = wx.Panel(self) 18 self.list = TestListCtrl(self.panel, style=wx.LC_REPORT) 19 self.list.InsertColumn(0, "No.") 20 self.list.InsertColumn(1, "Progress") 21 self.list.InsertColumn(2, "Description") 22 self.list.Arrange() 23 for i in range(1, 6): 24 self.list.Append([str(i), "", "Its the %d item" % (i)]) 25 26 self.button = wx.Button(self.panel, label="Test") 27 self.sizer = wx.BoxSizer(wx.VERTICAL) 28 self.sizer.Add(self.list, proportion=1, flag=wx.EXPAND | wx.ALL, border=5) 29 self.sizer.Add(self.button, flag=wx.EXPAND | wx.ALL, border=5) 30 self.panel.SetSizerAndFit(self.sizer) 31 self.Show() 32 33app = wx.App(False) 34win = MainWindow(None) 35app.MainLoop()
回答1件
あなたの回答
tips
プレビュー