欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

【PyQt5 学习记录】011:使用 QListWidet 创建列表

程序员文章站 2022-06-19 17:50:32
[command]:(项目名称 : PyQt5) [command]:(文件名称 : QListWidget.md) [command]:(创建日期 : 2018 年 11 月 07 日) [command]:(创建时间 : 00:41) 使用 QListWidet 创建列表 作者: 八月未见 博客 ......

使用 qlistwidet 创建列表

作者: 八月未见 博客:

创建列表:

list_widget = qlistwidget()

插入项目:

直接添加文字:

# 在末尾添加:
list_widget.additem("item")

items = ["item - 1", "item - 2"]
list_widget.additems(items)

# 在指定行添加:
list_widget.insertitem(0, "item")

items = ["item - 1", "item - 2"]
# 从第 1 行开始添加:
list_widget.insertitems(1, items)

举个栗子:

# 创建列表:
list_widget = qlistwidget()
item_list = []
for i in range(20):
    item_list.append("item - " + str(i))
# 向列表添加项目:
list_widget.additems(item_list)

效果如下:
【PyQt5 学习记录】011:使用 QListWidet 创建列表

添加 item :

使用 qtwidgets.qlistwidgetitem 创建项目

# 创建一个 item :
item = qlistwidgetitem()
item.seticon(qicon("programme.png"))
item.settext("item")
list_widget.additem(item)

将项目添加到列表:

# 直接添加:
qlistwidgetitem(qicon("icon.png"), "item", list_widget)

list_widget.additem(item)

list_widget.insertitem(0, item)

栗子来了:

qlistwidgetitem(qicon("laugh.png"), "item - 1", list_widget)

item = qlistwidgetitem()
item.seticon(qicon("programme.png"))
item.settext("item - 2")
list_widget.insertitem(0, item)

效果如图:
【PyQt5 学习记录】011:使用 QListWidet 创建列表

编辑项目:

当前选项:

设置当前选项:

# 通过项目来设置当前选项:
list_widget.setcurrentitem(item)

# 通过行来设置当前选项:
list_widget.setcurrentrow(3)

获取当前选项:

# 获取当前选项:
current_item = list_widget.currentitem()

# 获取当前行:
current_row = list_widget.currentrow()

编辑选项:

# 开始编辑:
list_widget.openpersistenteditor(current_item)

# 结束编辑:
list_widget.closepersistenteditor(current_item)

删除选项:

# 删除第四行:
list_widget.takeitem(4)

# 移除选项上的其他组件:
# 注意:这不会删除选项,仅仅移除选项上的其他组件(如:label、lineedit、等)。
list_widget.removeitemwidget(current_item)

# 移除所有选项:
# 注意:这会让列表变成一片空白。
list_widget.clear()

选项数量:

list_widget.count()

在选项上显示组件:

# 如果你这么做了将会无法删除此选项:
list_widget.setitemwidget(item, qlabel("这是一个 label !"))

查找选项:

# 在所有选项中查找有字符 4 的选项,并返回数组:
list_widget.finditems("4", qt.matchcontains)

# 通过行找到选项:
# 注意:第一行是 0 。
list_widget.item(3)

隐藏选项:

list_widget.setrowhidden(2, true)

参考资料:qlistwidget — qt for python (technology preview)