wxPython的ListCtrl控件在列表模式和小图标模式下,各行是紧挨着的,非常难看,翻了半天手册,也没发现有什么方法可以调整。
倒是有个SetColumnWidth方法可以调整各列的宽度(在列表模式或小图标模式下,col参数设为-1就行了,可以用来调整小图标模式和列表模式的宽度),但是没有什么方法可以调整行距,要是有SetRowHeight方法就好了。
想来想去,突然想出了一个"绝招"解决问题了。把wx.ImageList中的图片弄大一些,图片空白的地方显示为透明或与背景色一致就行了。因为ListCtrl的列表和小图标模式中字体的高度为约为15像素(默认情况下),如果图片的高度为20,则各行之间自动就会留下空白。
试试果然能行,不过小图标模式中ImageStringItem与图标的顶部对齐,列表模式中与图标的底部对齐,没办法文字与图片垂直居中对齐。
办法有点傻,不过傻办法比没办法好。
如:
#
!/usr/bin/python
#
-*- coding: utf8 -*-
![](https://i-blog.csdnimg.cn/blog_migrate/6810355c2f78c12e91b7997a8e8c583a.gif)
import
倒是有个SetColumnWidth方法可以调整各列的宽度(在列表模式或小图标模式下,col参数设为-1就行了,可以用来调整小图标模式和列表模式的宽度),但是没有什么方法可以调整行距,要是有SetRowHeight方法就好了。
想来想去,突然想出了一个"绝招"解决问题了。把wx.ImageList中的图片弄大一些,图片空白的地方显示为透明或与背景色一致就行了。因为ListCtrl的列表和小图标模式中字体的高度为约为15像素(默认情况下),如果图片的高度为20,则各行之间自动就会留下空白。
试试果然能行,不过小图标模式中ImageStringItem与图标的顶部对齐,列表模式中与图标的底部对齐,没办法文字与图片垂直居中对齐。
办法有点傻,不过傻办法比没办法好。
如:
![](https://i-blog.csdnimg.cn/blog_migrate/6810355c2f78c12e91b7997a8e8c583a.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/6810355c2f78c12e91b7997a8e8c583a.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/6810355c2f78c12e91b7997a8e8c583a.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/6810355c2f78c12e91b7997a8e8c583a.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/6810355c2f78c12e91b7997a8e8c583a.gif)