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简单商城购物车实例代码
Mar 15 Python
Python实现的文本对比报告生成工具示例
May 22 Python
Python实现简单石头剪刀布游戏
Jan 20 Python
pandas DataFrame索引行列的实现
Jun 04 Python
在windows下使用python进行串口通讯的方法
Jul 02 Python
Python生命游戏实现原理及过程解析(附源代码)
Aug 01 Python
python设置随机种子实例讲解
Sep 12 Python
python中利用matplotlib读取灰度图的例子
Dec 07 Python
浅谈tensorflow 中tf.concat()的使用
Feb 07 Python
python实现根据给定坐标点生成多边形mask的例子
Feb 18 Python
sqlalchemy实现时间列自动更新教程
Sep 02 Python
pd.drop_duplicates删除重复行的方法实现
Jun 16 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转成EXE文件
2006/10/09 PHP
用C/C++扩展你的PHP 为你的php增加功能
2012/09/06 PHP
PHP中Laravel 关联查询返回错误id的解决方法
2017/04/01 PHP
PHP实现生成模糊图片的方法示例
2017/12/21 PHP
javascript 一个自定义长度的文本自动换行的函数
2007/08/19 Javascript
深入理解JavaScript系列(8) S.O.L.I.D五大原则之里氏替换原则LSP
2012/01/15 Javascript
文件编码导致jquery失效的解决方法
2013/06/26 Javascript
JavaScript网页定位详解
2014/01/13 Javascript
Underscore源码分析
2015/12/30 Javascript
快速解决js开发下拉框中blur与click冲突
2016/10/10 Javascript
微信小程序中的onLoad详解及简单实例
2017/04/05 Javascript
JavaScript实现的浏览器下载文件的方法
2017/08/09 Javascript
AngularJS修改model值时,显示内容不变的实例
2018/09/13 Javascript
深入理解vue-class-component源码阅读
2019/02/18 Javascript
微信小程序使用websocket通讯的demo,含前后端代码,亲测可用
2019/05/22 Javascript
详解使用mocha对webpack打包的项目进行"冒烟测试"的大致流程
2020/04/27 Javascript
[06:04]DOTA2英雄梦之声Vol19卓尔游侠
2014/06/20 DOTA
Python语言技巧之三元运算符使用介绍
2013/03/04 Python
Python执行时间的计算方法小结
2017/03/17 Python
CentOS 7下Python 2.7升级至Python3.6.1的实战教程
2017/07/06 Python
python unittest实现api自动化测试
2018/04/04 Python
Python GUI学习之登录系统界面篇
2019/08/21 Python
简单了解python协程的相关知识
2019/08/31 Python
python循环嵌套的多种使用方法解析
2019/11/29 Python
VSCode基础使用与VSCode调试python程序入门的图文教程
2020/03/30 Python
Python如何把十进制数转换成ip地址
2020/05/25 Python
django跳转页面传参的实现
2020/09/17 Python
印刷工程专业应届生求职信
2013/09/29 职场文书
旅游节目策划方案
2014/05/26 职场文书
安全目标责任书
2014/07/22 职场文书
教师党的群众路线教育实践活动个人整改措施
2014/11/04 职场文书
给老婆的道歉信
2015/01/20 职场文书
羊脂球读书笔记
2015/06/30 职场文书
民警忠诚教育心得体会
2016/01/23 职场文书
2016年第104个国际护士节活动总结
2016/04/06 职场文书
go语言中json数据的读取和写出操作
2021/04/28 Golang