我有一个处于报告模式的 wx.ListCtrl,我使用图像列表来显示带有 SetItemColumnImage 的 50x50 像素的图标。现在的问题是,我在图标右列显示的文字高度小于50像素,并且图标高于文字的部分被截掉了。
有没有办法告诉 ListCtrl 将行高调整为图标的高度?最后的避难所是更改文本的字体大小,但应该有更好的方法。
更新:
这是我的一些代码:
self.list = util.ListCtrl(nb, style=wx.LC_REPORT|
wx.LC_SINGLE_SEL|wx.LC_NO_HEADER|wx.LC_ALIGN_LEFT)
self.list.InsertColumn(0, 'Avatar', width=-1)
self.list.InsertColumn(1, 'Name', width=-1)
self.list.SetColumnWidth(0, 50)
self.imagelist = wx.ImageList(50, 50, 255, 20)
self.list.SetImageList(self.imagelist, wx.IMAGE_LIST_SMALL)
i = 0
for user in self.users:
self.list.Append(['', user['name']])
if user['avatar']:
bitmap = wx.BitmapFromImage(user['avatar'])
imageidx = self.imagelist.Add(bitmap)
self.list.SetItemColumnImage(i, 0, imageidx)
i += 1
当我删除 LC_REPORT 标志时,图像完全可见,但它们都显示在一行中,并且名称不再可见。