pyqt5 QlistView列表显示的实现示例


Posted in Python onMarch 24, 2020

1、简介

QlistView类用于展示数据,它的子类是QListWIdget。QListView是基于模型(Model)的,需要程序来建立模型,然后再保存数据

QListWidget是一个升级版本的QListView,它已经建立了一个数据储存模型(QListWidgetItem),直接调用addItem()函数,就可以添加条目(Item)

QListView类中常用的方法如表

方法 描述
setModel() 用来设置View所关联的Model,可以使用Python原生的list作为数据源Model
selectedItem() 选中Model的条目
isSelected() 判断Model中的某条目是否被选中

QListView的常用信号

信号 含义
clicked 当单击某项时,信号被发射
doubleClicked 当双击某项时,信号被发射

pyqt5 QlistView列表显示的实现示例

2、功能实现

# -*- coding: utf-8 -*-

'''
  【简介】
	PyQt5中 QListView 例子    
 
'''

from PyQt5.QtWidgets import QApplication, QWidget , QVBoxLayout , QListView, QMessageBox
from PyQt5.QtCore import QStringListModel 
import sys 

class ListViewDemo(QWidget):
	def __init__(self, parent=None):
		super(ListViewDemo, self).__init__(parent)
		self.setWindowTitle("QListView 例子")
		self.resize(300, 270)  
		layout = QVBoxLayout()
		
		listView = QListView()   #创建一个listview对象
		slm = QStringListModel(); #创建mode
		self.qList = ['Item 1','Item 2','Item 3','Item 4' ]	 #添加的数组数据
		slm.setStringList(self.qList) #将数据设置到model
		listView.setModel(slm )##绑定 listView 和 model
		listView.clicked.connect(self.clickedlist)		 #listview 的点击事件
		layout.addWidget( listView )#将list view添加到layout
		self.setLayout(layout) 		 #将lay 添加到窗口

	def clickedlist(self, qModelIndex):
		QMessageBox.information(self, "QListView", "你选择了: "+ self.qList[qModelIndex.row()])
		print("点击的是:" + str(qModelIndex.row()))
		
if __name__ == "__main__":    
	app = QApplication(sys.argv)
	win = ListViewDemo()	
	win.show()	
	sys.exit(app.exec_())

文件参考:PyQt 快速开发与实践

到此这篇关于pyqt5 QlistView列表显示的实现示例的文章就介绍到这了,更多相关pyqt5 QlistView列表显示内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

Python 相关文章推荐
浅谈python import引入不同路径下的模块
Jul 11 Python
Python实战小程序利用matplotlib模块画图代码分享
Dec 09 Python
聊聊Python中的pypy
Jan 12 Python
python执行系统命令后获取返回值的几种方式集合
May 12 Python
Python3实现转换Image图片格式
Jun 21 Python
python3+PyQt5 数据库编程--增删改实例
Jun 17 Python
Python操作远程服务器 paramiko模块详细介绍
Aug 07 Python
Python学习笔记之For循环用法详解
Aug 14 Python
Python中关于浮点数的冷知识
Sep 22 Python
Tensorflow与Keras自适应使用显存方式
Jun 22 Python
Python学习工具jupyter notebook安装及用法解析
Oct 23 Python
python查询MySQL将数据写入Excel
Oct 29 Python
Python多线程操作之互斥锁、递归锁、信号量、事件实例详解
Mar 24 #Python
PyQt5中向单元格添加控件的方法示例
Mar 24 #Python
Python多线程Threading、子线程与守护线程实例详解
Mar 24 #Python
PYQT5 vscode联合操作qtdesigner的方法
Mar 24 #Python
ubuntu 安装pyqt5和卸载pyQt5的方法
Mar 24 #Python
Python socket连接中的粘包、精确传输问题实例分析
Mar 24 #Python
Pyqt5 关于流式布局和滚动条的综合使用示例代码
Mar 24 #Python
You might like
十天学会php之第十天
2006/10/09 PHP
支持oicq头像的留言簿(二)
2006/10/09 PHP
thinkphp 多表 事务详解
2013/06/17 PHP
Laravel 5 学习笔记
2015/03/06 PHP
php回调函数处理数组操作示例
2020/04/13 PHP
纯js写的分页表格数据为json串
2014/02/18 Javascript
jQuery添加删除DOM元素方法详解
2016/01/18 Javascript
基于JS+Canves实现点击按钮水波纹效果
2016/09/15 Javascript
Vue.js第四天学习笔记
2016/12/02 Javascript
JavaScript实现汉字转换为拼音的库文件示例
2016/12/22 Javascript
正则 js分转元带千分符号详解
2017/03/08 Javascript
解决vue组件中使用v-for出现告警问题及v for指令介绍
2017/11/11 Javascript
vue webpack打包后图片路径错误的完美解决方法
2018/12/07 Javascript
Webpack4+Babel7+ES6兼容IE8的实现
2019/04/10 Javascript
详解JavaScript中的数据类型,以及检测数据类型的方法
2020/09/17 Javascript
[56:46]2018DOTA2亚洲邀请赛 3.31 小组赛 B组 VP vs Effect
2018/04/01 DOTA
举例讲解Python中的算数运算符的用法
2015/05/13 Python
常见的python正则用法实例讲解
2016/06/21 Python
用python记录运行pid,并在需要时kill掉它们的实例
2017/01/16 Python
selenium+python 对输入框的输入处理方法
2018/10/11 Python
Python迭代器Iterable判断方法解析
2020/03/16 Python
基于Python绘制个人足迹地图
2020/06/01 Python
python 实现一个图形界面的汇率计算器
2020/11/09 Python
canvas绘制表情包的示例代码
2018/07/09 HTML / CSS
德国体育用品网上商店:SC24.com
2016/08/01 全球购物
LUISAVIAROMA德国官网:时尚奢侈品牌购物网站
2020/11/12 全球购物
C#如何调用Word并打开一个Word文档
2013/05/08 面试题
职业教育毕业生求职信
2013/11/09 职场文书
人口与计划生育目标管理责任书
2014/07/29 职场文书
党支部工作总结2015
2015/04/01 职场文书
2019最新版火锅店的创业计划书 !
2019/07/12 职场文书
如何用Laravel包含你自己的帮助函数
2021/05/27 PHP
Java中常用解析工具jackson及fastjson的使用
2021/06/28 Java/Android
JavaScript异步操作中串行和并行
2021/11/20 Javascript
MySQL创建管理子分区
2022/04/13 MySQL
windows安装 redis 6.2.6最新步骤详解
2022/04/26 Redis