REPORT モードの 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 フラグを削除すると、画像は完全に表示されますが、すべてが 1 行に表示され、名前は表示されなくなります。