Fragen zu wx.lib.mixins.listctrl.*

Plattformunabhängige GUIs mit wxWidgets.
Vannid Burdon
User
Beiträge: 12
Registriert: Freitag 22. Dezember 2006, 14:51

Fragen zu wx.lib.mixins.listctrl.*

Beitragvon Vannid Burdon » Freitag 2. Februar 2007, 14:01

Hallo, habe ein paar Fragen zu wx.lib.mixins.listctrl.

1. Wie ist es möglich, bei zwei Spalten, nur eine als "editable" freizugeben und gleichzeitig aber die Funktionalität der Checkbox beizubehalten? [gelöst]
2. Wie ist es möglich, eine Dropdown Box in ein Listenfeld zu inkludieren.

Code: Alles auswählen

class MyList(wx.ListCtrl,
             wx.lib.mixins.listctrl.CheckListCtrlMixin,
             wx.lib.mixins.listctrl.TextEditMixin):

   def __init__(self, parent):
      wx.ListCtrl.__init__(self, parent, wx.NewId(), style=wx.LC_REPORT)
      wx.lib.mixins.listctrl.CheckListCtrlMixin.__init__(self)
      wx.lib.mixins.listctrl.TextEditMixin.__init__(self)
      
      self.Bind(wx.EVT_LIST_ITEM_ACTIVATED, self.OnItemActivate)
      self.Bind(wx.EVT_LIST_END_LABEL_EDIT, self.OnEndLabelEdit)
      self.Bind(wx.EVT_LIST_BEGIN_LABEL_EDIT, self.OnBeginLabelEdit)

   def SetupColumns(self, col1, col2):
      self.InsertColumn(0, col1)
      self.InsertColumn(1, col2)

   def SetupRows(self, rows):
      for row, (key, value) in enumerate(rows.items()):
         rowIndex = self.InsertStringItem(row, str(key))
         self.SetStringItem(rowIndex, 1, str(value))
   
   def OnItemActivate(self, event):
      self.ToggleItem(event.m_itemIndex)

   def GetColmnText(self, index, col):
      item = self.GetItem(index, col)
      return item.GetText()
   
   def OnEndLabelEdit(self, event):
      self.RefreshItem(event.m_itemIndex)

   def OnBeginLabelEdit(self, event):   
      if event.m_col == 0:event.Veto()


Danke im voraus.

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder