# 易函数视窗编程系统 超级列表框的使用例程
超级列表框 拥有多种样式如 图标列表 报表列表 普通列表 均可在可视化界面设计器上进行轻松的设置改变其显示的方式
易函数通过封装 wxpython 的 `wx.ListCtrl` 使得在python中使用超级列表框就如同易语言中的超级列表框和高级表格一样
封装超级列表框组件代码位于 https://gitee.com/duolabmeng666/pyefun/blob/master/pyefun/wxefun/component/ListCtrl.py
# 代码示例
示例代码位于 https://gitee.com/duolabmeng666/pyefun/blob/master/example/wxpython/%E8%B6%85%E7%BA%A7%E5%88%97%E8%A1%A8%E6%A1%86%E5%B0%81%E8%A3%85%E6%B5%8B%E8%AF%95.py
这里以易函数视窗编程系统的组件箱作为例子
大家可以看下面的示例代码~
创建组件部分是由易函数视窗设计器选择属性后生成的 无需手动编写代码 当然你也可以自动增加或者减少他的样式
![](https://img.kancloud.cn/c0/9c/c09cccbf374b630553d9ff6634bdd5e8_2680x1136.png)
# 创建超级列表框组件
```
self.超级列表框1 = wx.超级列表框(self.容器, size=(617, 327), pos=(13, 13),
style=wx.超级列表框样式.报表列表框 | wx.超级列表框样式.图标左边对齐 | wx.超级列表框样式.单一选择)
self.超级列表框1.插入列(0, heading="基本组件") # mac
self.超级列表框1.置列宽(0, 130)
组件名称列表 = ["指针", "按钮", "编辑框", "标签", "单选框", "选择框", "图片框", "组合框", "列表框", "选择列表框", "横向滚动条", "纵向滚动条", "进度条",
"滑块条", "日期框", "日历框", "时间框", "颜色选择器", "图形按钮", "动画框", "排序列表框", "引导按钮", "超级列表框", "分组单选框", "超级链接框",
"整数微调框",
"小数微调框", "属性表格", "选择夹"]
self.图片组 = wx.图片组类(24, 24, True) # 设置所有图片宽高
k = 0
for v in 组件名称列表:
文件路径 = efun.路径优化(r"C:\efun_view_system\resources\images\组件图标/" + v + ".png")
if efun.文件是否存在(文件路径) == False:
文件路径 = efun.路径优化(r"C:\efun_view_system\resources\images\组件图标/默认.png")
il_max = self.图片组.加入图片(文件路径)
k = k + 1
self.超级列表框1.置图片组(self.图片组, wx.图片组样式.小图标) # 加入图片组
k = 0
for v in 组件名称列表:
self.超级列表框1.插入项目(k, v, k)
k = k + 1
```
# 遍历超级列表框中的项目
```
for i in range(self.超级列表框1.取表项数()):
print("{} {} {} {}".format(self.超级列表框1.取标题(i, 0), self.超级列表框1.取标题(i, 1), self.超级列表框1.取标题(i, 2),
self.超级列表框1.取标题(i, 3)))
```
# 选择项目以及保证显示
```
self.超级列表框1.选择(6)
self.超级列表框1.取消选择(5)
self.超级列表框1.保证显示(50)
```
# 获取现行选中项
```
print(self.超级列表框1.取现行选中项(), "self.超级列表框1.取现行选中项()")
print(self.超级列表框1.取选中项目数量(), "self.超级列表框1.取选中项目数量()")
print(self.超级列表框1.取选中的项目索引(), "self.超级列表框1.取选中的项目索引()")
for i in self.超级列表框1.取选中的项目索引():
print("{} {} {} {}".format(self.超级列表框1.取标题(i, 0), self.超级列表框1.取标题(i, 1), self.超级列表框1.取标题(i, 2),
self.超级列表框1.取标题(i, 3)))
```
# 带有选择框样式的列表 获取列表中选中项目
```
print("选择框取选中项目索引", self.超级列表框1.选择框取选中项目索引())
for i in self.超级列表框1.选择框取选中项目索引():
print("{} {} {} {}".format(self.超级列表框1.取标题(i, 0), self.超级列表框1.取标题(i, 1), self.超级列表框1.取标题(i, 2),
self.超级列表框1.取标题(i, 3)))
```
# 样式展示
![](https://img.kancloud.cn/c4/9e/c49edcb8fd8ed9695c981163ce585752_1126x793.png)
![](https://img.kancloud.cn/95/e9/95e9bdaaf45874b6aa088dadb76a73c5_1126x793.png)
![](https://img.kancloud.cn/c4/9e/c49edcb8fd8ed9695c981163ce585752_1126x793.png)
![](https://img.kancloud.cn/5c/3d/5c3d4156ba6203f0da62dade594d96a5_1126x793.png)
![](https://img.kancloud.cn/34/32/34326e151b3ebdfa70c3119051c86c40_1126x793.png)
![](https://img.kancloud.cn/7e/3c/7e3c94855abe9a5e0dd942e0e9c90b1e_1126x793.png)