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入门篇之列表和元组
Oct 17 Python
Python函数的周期性执行实现方法
Aug 13 Python
Django Highcharts制作图表
Aug 27 Python
python中numpy基础学习及进行数组和矢量计算
Feb 12 Python
机器学习10大经典算法详解
Dec 07 Python
Python在groupby分组后提取指定位置记录方法
Apr 20 Python
Django中使用第三方登录的示例代码
Aug 20 Python
对numpy中的where方法嵌套使用详解
Oct 31 Python
在Pandas中给多层索引降级的方法
Nov 16 Python
详解Django定时任务模块设计与实践
Jul 24 Python
Python二维数组实现求出3*3矩阵对角线元素的和示例
Nov 29 Python
OpenCV中VideoCapture类的使用详解
Feb 14 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
英雄试炼之肉山谷—引领RPG新潮流
2020/04/20 DOTA
ThinkPHP独立分组使用的注意事项
2014/11/25 PHP
如何在PHP中生成随机数
2020/06/04 PHP
IE下js调试工具Companion.JS
2010/10/15 Javascript
jquery实现图片灯箱明暗的遮罩效果
2013/11/15 Javascript
使用jsonp完美解决跨域问题
2014/11/27 Javascript
JS点击链接后慢慢展开隐藏着图片的方法
2015/02/17 Javascript
AngularJS优雅的自定义指令
2016/07/01 Javascript
node.js express安装及示例网站搭建方法(分享)
2016/08/22 Javascript
微信小程序  网络请求API详解
2016/10/25 Javascript
微信小程序 scroll-view实现上拉加载与下拉刷新的实例
2017/01/21 Javascript
vue webpack实用技巧总结
2018/04/24 Javascript
[00:12]DAC SOLO赛卫冕冠军 VG.Paparazi灬展现SOLO技巧
2018/04/06 DOTA
python33 urllib2使用方法细节讲解
2013/12/03 Python
python中使用mysql数据库详细介绍
2015/03/27 Python
Python下线程之间的共享和释放示例
2015/05/04 Python
python过滤字符串中不属于指定集合中字符的类实例
2015/06/30 Python
浅谈Matplotlib简介和pyplot的简单使用——文本标注和箭头
2018/01/09 Python
Python基于FTP模块实现ftp文件上传操作示例
2018/04/23 Python
wxPython多个窗口的基本结构
2019/11/19 Python
python基于socket函数实现端口扫描
2020/05/28 Python
基于keras中的回调函数用法说明
2020/06/17 Python
澳大利亚运动鞋商店:Platypus Shoes
2019/09/27 全球购物
VisionPros美国站:加拿大在线隐形眼镜和眼镜零售商
2020/02/11 全球购物
香港士多网上超级市场:Ztore
2021/01/09 全球购物
C#中有没有运算符重载?能否使用指针?
2014/05/05 面试题
在c#中using和new这两个关键字有什么意义
2013/05/19 面试题
房地产营销策划方案
2014/02/08 职场文书
2014新课程改革心得体会
2014/03/10 职场文书
新闻编辑专业自荐信
2014/07/02 职场文书
办理房产证委托书
2014/09/18 职场文书
村党支部群众路线教育实践活动对照检查材料
2014/09/26 职场文书
党员示范岗材料
2014/12/19 职场文书
全国爱牙日活动总结
2015/02/05 职场文书
2015年物业管理员工工作总结
2015/10/15 职场文书
详解CSS故障艺术
2021/05/25 HTML / CSS