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数据分析之真实IP请求Pandas详解
Nov 18 Python
Python爬虫DNS解析缓存方法实例分析
Jun 02 Python
Python列表删除的三种方法代码分享
Oct 31 Python
python中数据爬虫requests库使用方法详解
Feb 11 Python
Django学习教程之静态文件的调用详解
May 08 Python
python获取交互式ssh shell的方法
Feb 14 Python
python模块之subprocess模块级方法的使用
Mar 26 Python
python实现简单聊天室功能 可以私聊
Jul 12 Python
在pycharm中实现删除bookmark
Feb 14 Python
Python3.6 + TensorFlow 安装配置图文教程(Windows 64 bit)
Feb 24 Python
使用matplotlib动态刷新指定曲线实例
Apr 23 Python
python+selenium+chrome批量文件下载并自动创建文件夹实例
Apr 27 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
模拟SQLSERVER的两个函数:dateadd(),datediff()
2006/10/09 PHP
php 一元分词算法
2009/11/30 PHP
全面了解PHP中的全局变量
2016/06/17 PHP
浅谈php中urlencode与rawurlencode的区别
2016/09/05 PHP
Laravel开启跨域请求的方法
2019/10/13 PHP
你需要知道的JavsScript可以做什么?
2007/06/29 Javascript
jQuery.getScript加载同域JS的代码
2012/02/13 Javascript
js控制的回到页面顶端goTop的代码实现
2013/03/20 Javascript
使用jQuery内容过滤选择器选择元素实例讲解
2013/04/18 Javascript
js判读浏览器是否支持html5的canvas的代码
2013/11/18 Javascript
jquery 为a标签绑定click事件示例代码
2014/06/23 Javascript
JavaScript中join()方法的使用简介
2015/06/09 Javascript
jQuery移动web开发中的页面初始化与加载事件
2015/12/03 Javascript
JavaScript关于提高网站性能的几点建议(一)
2016/07/24 Javascript
jQuery多级联动下拉插件chained用法示例
2016/08/20 Javascript
JavaScript实现的冒泡排序法及统计相邻数交换次数示例
2017/04/26 Javascript
详解angularjs利用ui-route异步加载组件
2017/05/21 Javascript
详解vue 单页应用(spa)前端路由实现原理
2018/04/04 Javascript
浅谈webpack 四个核心概念之Entry
2019/06/12 Javascript
谈谈JavaScript中的函数
2020/09/08 Javascript
[02:23]2018DOTA2亚洲邀请赛趣味视频——反应测试
2018/04/04 DOTA
Python3 处理JSON的实例详解
2017/10/29 Python
1 行 Python 代码快速实现 FTP 服务器
2018/01/25 Python
利用Python如何批量修改数据库执行Sql文件
2018/07/29 Python
python切片的步进、添加、连接简单操作示例
2019/07/11 Python
python实现回旋矩阵方式(旋转矩阵)
2019/12/04 Python
python正则表达式实例代码
2020/03/03 Python
HTML5之SVG 2D入门8—文档结构及相关元素总结
2013/01/30 HTML / CSS
中西医结合临床医学专业大学生自荐信
2013/09/28 职场文书
计算机专业自荐信
2014/05/24 职场文书
法制宣传口号
2014/06/16 职场文书
2014年“世界无车日”活动方案
2014/09/21 职场文书
天下第一关导游词
2015/02/06 职场文书
Python 循环读取数据内存不足的解决方案
2021/05/25 Python
Spring Bean是如何初始化的详解
2022/03/22 Java/Android
nginx容器方式反向代理实战
2022/04/18 Servers