【PyQt5 学习记录】011:使用 QListWidet 创建列表
[command]:<>(项目名称 : PyQt5)
[command]:<>(文件名称 : QListWidget.md)
[command]:<>(创建日期 : 2018 年 11 月 07 日)
[command]:<>(创建时间 : 00:41)
使用 QListWidet 创建列表
作者: 八月未见 博客: https://www.cnblogs.com/jmtm/
创建列表:
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)
效果如下:\

添加 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)
效果如图: \

编辑项目:
当前选项:
设置当前选项:
# 通过项目来设置当前选项:
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)
【PyQt5 学习记录】011:使用 QListWidet 创建列表的更多相关文章
- 【PyQt5 学习记录】009:批量创建组件并查找
这里需要在创建组件时使用 setObjectName() 为其添加 objectName 属性,再通过 findChild() 或者 findChildren() 函数来查找. 举个栗子,批量创建10 ...
- ROS学习记录(一)————创建简单的机器人模型smartcar
这是我在古月居上找的(http://www.guyuehome.com/243),但直接运行的话,没办法跑起来,我也是查了好多博客和日志,才实现最后的功能的,所以,记录下来,以备后用吧,也欢迎其他和我 ...
- 【PyQt5 学习记录】001:第一个界面
PyQt5 的安装很简单: pip3 install PyQt5 然后就是写一个最简单的界面试试手: import sys from PyQt5.QtWidgets import QApplicati ...
- ROS学习记录(三)————创建一个简单的发布节点和订阅节点
暑假在家有些懈怠,不,非常懈怠- -||!良心已经发痛了,想快些补回原来的进度,但忽然发现,中断了一段时间再重新去学习,有的地方连最基本的符号都忘记了 ,这次特意弄个最最基础的,恢复一下,以前的进度. ...
- 【PyQt5 学习记录】010:QSplitter
import sys from PyQt5.QtWidgets import (QApplication, QWidget, QSplitter, QTextEdit, QPushButton, QL ...
- 【PyQt5 学习记录】006:重写窗口事件及QMessageBox
#!/usr/bin/env python import sys from PyQt5.QtWidgets import (QApplication, QMainWindow, QMessageBox ...
- 【PyQt5 学习记录】005:QMainWindow 及状态栏、菜单栏和工具栏
#!/usr/bin/env python import sys from PyQt5.QtWidgets import (QApplication, QMainWindow, QWidget, QA ...
- 【PyQt5 学习记录】004:简单QThread笔记
在文本编辑框中每隔几秒添加一行文本,代码如下: #!/usr/bin/python3 # -*- coding:utf-8 -*- import sys from PyQt5.QtWidgets im ...
- 个人学习记录-Cpp基础-成员初始化列表
Translator Translator 参考链接: https://blog.csdn.net/XIONGXING_xx/article/details/115553291http ...
随机推荐
- 转载:在spring中嵌入activemq
转载:http://www.dev26.com/blog/article/137 web开发站中的邮件发送使用了activemq我这是从网上找的进行了一些修改,记录下来,为了避免发送邮件时程序对用户操 ...
- js闭包之我见
很久前的一个问题终于得以解决,内心是无比喜悦的,不多说,先上代码: function test(){ for(var i=0;i<5;i++){ window.onclick=function( ...
- 剑指offer二十六之二叉搜索树与双向链表
一.题目 输入一棵二叉搜索树,将该二叉搜索树转换成一个排序的双向链表.要求不能创建任何新的结点,只能调整树中结点指针的指向. 二.思路 对二叉搜索树中序遍历的结果即为排序的结果,在中序遍历的过程中,建 ...
- 启动Storm各个后台进程
启动Storm的所有后台进程.和Zookeeper一样,Storm也是快速失败(fail-fast)的系统,这样Storm才能在 任意时刻被停止,并且当进程重启后被正确地恢复执行.这也是为什么Stor ...
- Linux的帮助文档命令
Linux的帮助文档命令 1.man page man是manual(操作手册)的简写,使用方式: man [指令] man date 在显示的内容中查找内容: / + 搜索你的关键字 上下左右键来查 ...
- C语言利用异或进行两个值的交换
异或有两个很重要的性质: 1. A^A = 0; 2.A^0 = A; 利用这两个性质,我们就能够利用异或进行两个值的交换. 代码如下: #include <stdio.h> int ma ...
- STL 容器简介
一.概述 STL 对定义的通用容器分三类:顺序性容器.关联式容器和容器适配器. 顺序性容器是一种各元素之间有顺序关系的线性表.元素在顺序容器中保存元素置入容器时的逻辑顺序,除非用删除或插入的操作改变这 ...
- redis实战笔记(8)-第8章 构建简单的社交网站
本章主要内容 用户和状态 主页时间线 关注者列表和正在关注列表 状态消息的发布与删除 流API
- 前端JS校验银行卡卡号和身份证号码(附ES6版方法)
1.银行卡卡号校验方法. function luhnCheck(bankno) { var lastNum = bankno.substr(bankno.length - 1, 1); //取出最后一 ...
- 任务三十七:UI组件之浮出层
任务三十七:UI组件之浮出层 面向人群: 有一定JavaScript基础 难度: 低 重要说明 百度前端技术学院的课程任务是由百度前端工程师专为对前端不同掌握程度的同学设计.我们尽力保证课程内容的质量 ...