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压缩和解压缩zip文件
Feb 14 Python
详解Django中的form库的使用
Jul 18 Python
Python Paramiko模块的安装与使用详解
Nov 18 Python
Python3实现带附件的定时发送邮件功能
Dec 22 Python
Selenium的使用详解
Oct 19 Python
Python3.7 新特性之dataclass装饰器
May 27 Python
python实现最大子序和(分治+动态规划)
Jul 05 Python
Django 开发环境与生产环境的区分详解
Jul 26 Python
对django的User模型和四种扩展/重写方法小结
Aug 17 Python
python如何运行js语句
Sep 09 Python
详解用python -m http.server搭一个简易的本地局域网
Sep 24 Python
Python的flask接收前台的ajax的post数据和get数据的方法
Apr 12 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中根据某年第几天计算出日期年月日的代码
2011/02/24 PHP
php中session_id()函数详细介绍,会话id生成过程及session id长度
2015/09/23 PHP
抛弃 PHP 代价太高
2016/04/26 PHP
JavaScript 指导方针
2007/04/05 Javascript
javascript下阻止表单重复提交、防刷新、防后退
2007/08/17 Javascript
JavaScript instanceof 的使用方法示例介绍
2013/10/23 Javascript
javascript原型模式用法实例详解
2015/06/04 Javascript
jquery实现可自动判断位置的弹出层效果代码
2015/10/12 Javascript
jQuery Dialog对话框事件用法实例分析
2016/05/10 Javascript
jQuery Easyui DataGrid点击某个单元格即进入编辑状态焦点移开后保存数据
2016/08/15 Javascript
jQuery Ajax 实现在html页面实时显示用户登录状态
2016/12/30 Javascript
js实现时间轴自动排列效果
2017/03/09 Javascript
vue单页开发父子组件传值思路详解
2018/05/18 Javascript
JavaScript实现京东购物放大镜和选项卡效果的方法分析
2018/07/05 Javascript
手把手教你实现 Promise的使用方法
2020/09/02 Javascript
解决vue scoped html样式无效的问题
2020/10/24 Javascript
Vue.js桌面端自定义滚动条组件之美化滚动条VScroll
2020/12/01 Vue.js
Python中使用select模块实现非阻塞的IO
2015/02/03 Python
Python中字典和集合学习小结
2017/07/07 Python
使用Python写一个贪吃蛇游戏实例代码
2017/08/21 Python
Python类的继承和多态代码详解
2017/12/27 Python
Sanic框架基于类的视图用法示例
2018/07/18 Python
python画折线图的程序
2018/07/26 Python
python 判断矩阵中每行非零个数的方法
2019/01/26 Python
学习和使用python的13个理由
2019/07/30 Python
Django模型修改及数据迁移实现解析
2019/08/01 Python
深入理解Tensorflow中的masking和padding
2020/02/24 Python
神经网络训练采用gpu设置的方式
2021/03/03 Python
HTML+CSS3 模仿Windows7 桌面效果
2010/06/17 HTML / CSS
CSS3实现水平居中、垂直居中、水平垂直居中的实例代码
2020/02/27 HTML / CSS
装潢设计专业推荐信模板
2013/11/26 职场文书
师范生的个人求职信范文
2014/01/04 职场文书
2014两会学习心得:榜样精神伴我行
2014/03/17 职场文书
音乐剧猫观后感
2015/06/04 职场文书
windows安装python超详细图文教程
2021/05/21 Python
nginx内存池源码解析
2021/11/20 Servers