Skip to main content
 首页 » 编程设计

python之ListCtrl 中的自定义 header 组织或 wxPython 中的另一个小部件

2025年05月04日9telwanggs

我已经在 wxPython 中为 ListCtrl 编写了代码:

... 
self.list_ctrl = wx.ListCtrl(panel, size=(-1,150), style=wx.LC_REPORT|wx.BORDER_SUNKEN) 
self.list_ctrl.InsertColumn(0, 'Name') 
self.list_ctrl.InsertColumn(1, 'Old value') 
self.list_ctrl.InsertColumn(2, 'New value') 
self.list_ctrl.InsertColumn(3, 'Old percent') 
self.list_ctrl.InsertColumn(4, 'New percent') 
... 

但我想获得具有以下 header 组织的 ListCtrl(或其他小部件):

我认为使用 ListCtrl 很难解决这个问题,可以使用 wxPython 中的另一个小部件吗?

请您参考如下方法:

正如我在您交叉发布的 wxPython 邮件列表中指出的那样,ListCtrl 不提供此功能。您也许能够使用列跨越技术和您自己的排序算法对网格控件 (wx.grid.Grid) 执行此操作。您可以破解 UltimateListCtrl 来执行此操作,因为它是纯 Python 而不是包装的 C++ 对象,但这将是一个重要的补丁/破解。

最好的方法可能是推出您自己的小部件。在 wxPython wiki、wxPython 演示和它们的邮件列表中有自定义小部件的示例。