wxListCtrlで作成した表の値を編集
リストコントロールwxListCtrlを使うと、簡単にきれいな表を作ることができる。ただし、このままだと表のセルの内容を直接編集することができない。これではとても不便だ。ユーザであれば、値を書き換えるためにマウスでポインタを移動してセルをクリックして値を入力する、ということを自然にやろうとするだろう。
その操作を実現するために、wx.lib.mixins.listctrlをimportすればいい。そうすると、wxListCtrlで作成した表の値を直接編集することが可能になる。
実装例。コードの一部を以下に示す。wx.lib.mixins.listctrlをimportして、TextEditMixinを継承している。これだけで、wxListCtrlの表が編集できるようになる。
import wx.lib.mixins.listctrl as listmix class TestListCtrl(wx.ListCtrl, listmix.TextEditMixin): def __init__(self, parent, ID, pos=wx.DefaultPosition, size=wx.DefaultSize, style=0): wx.ListCtrl.__init__(self, parent, ID, pos, size, style) listmix.TextEditMixin.__init__(self) self.Populate() def Populate(self): self.InsertColumn(0, "Column 1", wx.LIST_FORMAT_LEFT) self.InsertColumn(1, "Column 2", wx.LIST_FORMAT_LEFT) self.SetColumnWidth(0, 100) self.SetColumnWidth(1, 100) self.InsertStringItem(0, 'AAAAA') self.SetStringItem(0, 1, 'BBBBB')