首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >wx.ListControl中的图像被切断

wx.ListControl中的图像被切断
EN

Stack Overflow用户
提问于 2012-06-28 22:13:24
回答 1查看 743关注 0票数 0

我有一个wx.ListCtrl在报告模式,我使用一个图像列表显示图标,是50x50像素与SetItemColumnImage。现在的问题是,我在图标右边的列中显示的文本不到50像素,而高于文本的部分图标被切断。

有没有一种方法可以告诉ListCtrl将行高调整为图标的高度?最后的避难所是更改文本的字体大小,但是应该有更好的方法。

更新:

以下是我的一些代码:

代码语言:javascript
复制
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标志时,图像是完全可见的,但它们都显示在一行中,并且名称不再可见。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-06-29 13:35:14

由于图像是50x50,我认为它们不再是“小”的了。尝试使用wx.IMAGE_LIST_NORMAL而不是wx.IMAGE_LIST_SMALL。我找不到手动设置行高度的任何信息,所以我猜这是不可能的。但是,我确实找到了一个关于这个主题的错误报告,它是在wx2.9中解决的。你用2.9吗?

或者,您可以使用纯Python的UltimateListCtrl,如果它没有这种能力,您可能会很快得到修补,因为作者非常响应。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11253671

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档