2011-01-19 26 views

回答

2

由於ListCtrl不支持多行條目,因此無法使用ObjectListView(請參閱它們的FAQ)。

這是可能的,但是,使用UltimateListCtrl

import wx 
from wx.lib.wordwrap import wordwrap 
import wx.lib.agw.ultimatelistctrl as ULC 

class Frame(wx.Frame): 
    def __init__(self, *args, **kw): 
     wx.Frame.__init__(self, *args, **kw) 

     self.list = ULC.UltimateListCtrl(self, agwStyle=ULC.ULC_REPORT|ULC.ULC_HAS_VARIABLE_ROW_HEIGHT) 
     items = ['A', 'b', 'a really really long line that if would be nice if it could word-wrap'] 
     colWidth = 100 
     self.list.InsertColumn(0, "AA", width=colWidth) 
     for item in items: 
      item = wordwrap(item, colWidth, wx.ClientDC(self)) 
      self.list.InsertStringItem(0, item) 

app = wx.App(False) 
frm = Frame(None, title="ULC wordwrap test") 
frm.Show() 
app.MainLoop() 
0

wxListCtrl的功能相當有限。爲了做比基本更多的事情,你應該考慮'升級'到wxGrid,它具有豐富的功能。

+0

我目前使用ObjectListView這是一個的ListCtrl,它的實施。所以我需要包裝在這個對象中。如果我'升級'到wxGrid,它將如何轉換? wxGrid的行爲與OLV相同嗎? (取對象列表) – Iacks 2011-01-20 11:22:18