我有一個wxListCtrl(實際上它是一個ObjectListView),用兩列LC_REPORT設置。包裝在ListCtrl(或ObjectListView)中的字
當文本到達列的末尾時,是否可以將第一列文字換行?
我有一個wxListCtrl(實際上它是一個ObjectListView),用兩列LC_REPORT設置。包裝在ListCtrl(或ObjectListView)中的字
當文本到達列的末尾時,是否可以將第一列文字換行?
由於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()
wxListCtrl的功能相當有限。爲了做比基本更多的事情,你應該考慮'升級'到wxGrid,它具有豐富的功能。
我目前使用ObjectListView這是一個的ListCtrl,它的實施。所以我需要包裝在這個對象中。如果我'升級'到wxGrid,它將如何轉換? wxGrid的行爲與OLV相同嗎? (取對象列表) – Iacks 2011-01-20 11:22:18