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 相关文章推荐
python3简单实现微信爬虫
Apr 09 Python
python3 与python2 异常处理的区别与联系
Jun 19 Python
python 2.6.6升级到python 2.7.x版本的方法
Oct 09 Python
Python命令行解析模块详解
Feb 01 Python
wxpython+pymysql实现用户登陆功能
Nov 19 Python
Python关键字及可变参数*args,**kw原理解析
Apr 04 Python
520使用Python实现“我爱你”表白
May 20 Python
python处理写入数据代码讲解
Oct 22 Python
python 带时区的日期格式化操作
Oct 23 Python
使用gunicorn部署django项目的问题
Dec 30 Python
python 求两个向量的顺时针夹角操作
Mar 04 Python
在Python 中将类对象序列化为JSON
Apr 06 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
使用Apache的rewrite技术
2006/06/22 PHP
浅析php中三个等号(===)和两个等号(==)的区别
2013/08/06 PHP
yii实现创建验证码实例解析
2014/07/31 PHP
超棒的javascript页面顶部卷动广告效果
2007/12/01 Javascript
js+CSS 图片等比缩小并垂直居中实现代码
2008/12/01 Javascript
jquery多选项卡效果实例代码(附效果图)
2013/03/23 Javascript
form表单中去掉默认的enter键提交并绑定js方法实现代码
2013/04/01 Javascript
jQuery之按钮组件的深入解析
2013/06/19 Javascript
js 实现菜单上下显示附效果图
2013/11/21 Javascript
了不起的node.js读书笔记之例程分析
2014/12/22 Javascript
jQuery中outerHeight()方法用法实例
2015/01/19 Javascript
深入理解JavaScript系列(41):设计模式之模板方法详解
2015/03/04 Javascript
深入分析下javascript中的[]()+!
2015/07/07 Javascript
Node.js项目中调用JavaScript的EJS模板库的方法
2016/03/11 Javascript
js实现select选择框效果及美化
2016/08/19 Javascript
微信小程序 欢迎页面的制作(源码下载)
2017/01/09 Javascript
js学习总结_选项卡封装(实例讲解)
2017/07/13 Javascript
vue.js element-ui validate中代码不执行问题解决方法
2017/12/18 Javascript
解决nodejs的npm命令无反应的问题
2018/05/17 NodeJs
[03:02]安得倚天剑,跨海斩长鲸——中国军团出征DOTA2国际邀请赛
2018/08/14 DOTA
[06:48]DOTA2-DPC中国联赛2月26日Recap集锦
2021/03/11 DOTA
pyqt和pyside开发图形化界面
2014/01/22 Python
Python 冒泡,选择,插入排序使用实例
2015/02/05 Python
python: 自动安装缺失库文件的方法
2018/10/22 Python
python实现RabbitMQ的消息队列的示例代码
2018/11/08 Python
python设置环境变量的原因和方法
2019/06/24 Python
Python中zip()函数的简单用法举例
2019/09/02 Python
Python selenium抓取虎牙短视频代码实例
2020/03/02 Python
如何将PySpark导入Python的放实现(2种)
2020/04/26 Python
Python LMDB库的使用示例
2021/02/14 Python
工程师求职简历的自我评价分享
2013/10/10 职场文书
办理信用卡工作证明
2014/01/11 职场文书
月度优秀员工获奖感言
2014/08/16 职场文书
2014年初中班主任工作总结
2014/11/08 职场文书
2016年基层党组织公开承诺书
2016/03/25 职场文书
Jupyter notebook 更改文件打开的默认路径操作
2021/05/21 Python