ListCtrl(或ObjectListView)中的换行

2024-09-28 05:18:35 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个wxListCtrl(实际上它是一个ObjectListView),用两列LC\u报表设置。在

当第一列文本到达该列末尾时,它是否可以自动换行?在


Tags: 文本报表lc末尾objectlistviewwxlistctrl
2条回答

对于ObjectListView不可能(参见它们的FAQ),因为ListCtrl不支持多行条目。在

但是,可以使用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,它有很多特性。在

相关问题 更多 >

    热门问题