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实现批量获取指定文件夹下的所有文件的厂商信息
Sep 28 Python
python实现数组插入新元素的方法
May 22 Python
Python实现HTTP协议下的文件下载方法总结
Apr 20 Python
Python简单生成随机数的方法示例
Mar 31 Python
Python实现的根据文件名查找数据文件功能示例
May 02 Python
基于python批量处理dat文件及科学计算方法详解
May 08 Python
Python 函数返回值的示例代码
Mar 11 Python
详解Python 函数如何重载?
Apr 23 Python
Python如何在DataFrame增加数值
Feb 14 Python
python 19个值得学习的编程技巧
Aug 15 Python
Python常用数字处理基本操作汇总
Sep 10 Python
Python编程根据字典列表相同键的值进行合并
Oct 05 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
世界第一个无线广播电台 KDKA
2021/03/01 无线电
[原创]效率较高的php下读取文本文件的代码
2008/07/02 PHP
Youku 视频绝对地址获取的方法详解
2013/06/26 PHP
php实现微信公众号无限群发
2015/10/11 PHP
php生成curl命令行的方法
2015/12/14 PHP
Javascript 判断函数类型完美解决方案
2009/09/02 Javascript
javascript parseInt与Number函数的区别
2010/01/21 Javascript
JavaScript 比较时间大小的代码
2010/04/24 Javascript
JS显示下拉列表框内全部元素的方法
2015/03/31 Javascript
无刷新上传文件并返回自定义值
2015/06/11 Javascript
JavaScript+html5 canvas绘制的小人效果
2016/01/27 Javascript
详解jQuery中基本的动画方法
2016/12/14 Javascript
JS获取字符对应的ASCII码实例
2017/09/10 Javascript
mongoose设置unique不生效问题的解决及如何移除unique的限制
2017/11/07 Javascript
vue2.0 路由不显示router-view的解决方法
2018/03/06 Javascript
vue.js 图片上传并预览及图片更换功能的实现代码
2018/08/27 Javascript
layer.alert自定义关闭回调事件的方法
2019/09/27 Javascript
Vue微信公众号网页分享的示例代码
2020/05/28 Javascript
前端如何实现动画过渡效果
2021/02/05 Javascript
原生js 实现表单验证功能
2021/02/08 Javascript
python实现定时同步本机与北京时间的方法
2015/03/24 Python
python获取外网IP并发邮件的实现方法
2017/10/01 Python
Python AES加密实例解析
2018/01/18 Python
Django模型序列化返回自然主键值示例代码
2019/06/12 Python
python数据归一化及三种方法详解
2019/08/06 Python
html5 Canvas画图教程(11)—使用lineTo/arc/bezierCurveTo画椭圆形
2013/01/09 HTML / CSS
波兰化妆品和护肤品购物网站:eKobieca
2019/08/30 全球购物
ShellScript面试题一则-ShellScript编程
2014/03/05 面试题
公务员培训心得体会
2013/12/28 职场文书
会计电算化学生个人的自我评价
2014/02/08 职场文书
技术总监管理职责范本
2014/03/06 职场文书
三字经教学反思
2014/04/26 职场文书
格列夫游记读书笔记
2015/07/01 职场文书
《半截蜡烛》教学反思
2016/02/19 职场文书
读《儒林外史》有感:少一些功利,多一些真诚
2020/01/19 职场文书
解析Java中的static关键字
2021/06/14 Java/Android