问题描述
Python v3.7.9 x64; wxPython v4.1.0; MS Windows 10 x64
正如该问题的标题所述,有人知道在wx.dataview.DataViewListCtrl
小部件的列标题上显示排序箭头指示符的方法吗?我实际上已经用尽了搜索能力,并且已经花了好几天了。我不知道这是否可行,尽管我认为这是因为Windows在列标题中有排序箭头。最好使用本机排序箭头,尽管如果不可能的话,则可以为排序箭头添加图形。
使用wx.dataview.EVT_DATAVIEW_COLUMN_HEADER_CLICK
事件,我已经完成了自己的排序,但是如果最终用户可以直观地看到表明该列可以排序的排序箭头,那将是有益的。否则,最终用户将如何知道。
如果这是可行的,那么一些示例代码,链接或其他任何内容都会有所帮助。
谢谢
解决方法
我设法弄清楚了是否还有其他人有这个问题,这很简单。
在创建DataViewListCtrl
对象之后,您可以选择特定的列或将它们全部排序。
self.list_control = wx.dataview.DataViewListCtrl(parent) # DataViewListCtrl object
如果只希望对一列进行排序:
first_column = self.list_control.Columns[0] # get the first column
first_column.SetSortable(sortable=True) # make first column sortable
如果要使所有列都可排序:
for column in self.list_control.Columns:
column.SetSortable(sortable=True)