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在不同目录下导入模块的实现方法
Oct 27 Python
python处理csv数据动态显示曲线实例代码
Jan 23 Python
Python实现将json文件中向量写入Excel的方法
Mar 26 Python
python获取网页中所有图片并筛选指定分辨率的方法
Mar 31 Python
Python实现绘制双柱状图并显示数值功能示例
Jun 23 Python
对python中的try、except、finally 执行顺序详解
Feb 18 Python
简单了解为什么python函数后有多个括号
Dec 19 Python
Python While循环语句实例演示及原理解析
Jan 03 Python
python mysql 字段与关键字冲突的解决方式
Mar 02 Python
Python selenium实现断言3种方法解析
Sep 08 Python
python元组拆包实现方法
Feb 28 Python
Python入门之基础语法详解
May 11 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中防止SQL注入的最佳解决方法
2013/04/25 PHP
yii2 commands模式以及配置crontab定时任务的方法
2017/08/19 PHP
jquery中邮箱地址 URL网站地址正则验证实例代码
2013/09/15 Javascript
jQuery中校验时间格式的正则表达式小结
2013/09/22 Javascript
JavaScript表单通过正则表达式验证电话号码
2014/03/14 Javascript
JS中实现简单Formatter函数示例代码
2014/08/19 Javascript
基于jQuery实现最基本的淡入淡出效果实例
2015/02/02 Javascript
JS实现转动随机数抽奖特效代码
2020/04/16 Javascript
jQuery实现的登录浮动框效果代码
2015/09/26 Javascript
javascript 正则表达式去空行方法
2017/01/24 Javascript
Angular2开发——组件规划篇
2017/03/28 Javascript
JavaScript脚本语言是什么_动力节点Java学院整理
2017/06/26 Javascript
Vue通过URL传参如何控制全局console.log的开关详解
2017/12/07 Javascript
在vue中封装可复用的组件方法
2018/03/01 Javascript
Vue 中使用vue2-highcharts实现top功能的示例
2018/03/05 Javascript
Vue实现自定义下拉菜单功能
2018/07/16 Javascript
Next.js实现react服务器端渲染的方法示例
2019/01/06 Javascript
[03:40]DOTA2英雄梦之声_第01期_炼金术士
2014/06/23 DOTA
Python开发常用的一些开源Package分享
2015/02/14 Python
python得到单词模式的示例
2018/10/15 Python
python scatter散点图用循环分类法加图例
2019/03/19 Python
python 使用plt画图,去除图片四周的白边方法
2019/07/09 Python
python读取excel进行遍历/xlrd模块操作
2020/07/12 Python
Python 在函数上添加包装器
2020/07/28 Python
Python3爬虫关于识别检验滑动验证码的实例
2020/07/30 Python
python实现在列表中查找某个元素的下标示例
2020/11/16 Python
检测浏览器是否支持html5视频的代码
2013/03/28 HTML / CSS
Viking比利时:购买办公用品
2019/10/30 全球购物
蛋糕店的商业计划书范文
2014/01/27 职场文书
诚信的演讲稿范文
2014/05/12 职场文书
对领导班子的意见和建议
2015/06/08 职场文书
新闻发布会新闻稿
2015/07/17 职场文书
2015小学师德工作总结
2015/07/21 职场文书
运动会报道稿大全
2015/07/23 职场文书
护理培训心得体会
2016/01/22 职场文书
python lambda 表达式形式分析
2022/04/03 Python