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 相关文章推荐
用pywin32实现windows模拟鼠标及键盘动作
Apr 22 Python
python3使用smtplib实现发送邮件功能
May 22 Python
Python if语句知识点用法总结
Jun 10 Python
Python3.4 tkinter,PIL图片转换
Jun 21 Python
使用Scrapy爬取动态数据
Oct 21 Python
解决python字典对值(值为列表)赋值出现重复的问题
Jan 20 Python
python操作文件的参数整理
Jun 11 Python
pytorch 图像中的数据预处理和批标准化实例
Jan 15 Python
解决Python在导入文件时的FileNotFoundError问题
Apr 10 Python
python针对Oracle常见查询操作实例分析
Apr 30 Python
Python OrderedDict字典排序方法详解
May 21 Python
基于注解实现 SpringBoot 接口防刷的方法
Mar 02 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
长波有什么东西
2021/03/01 无线电
php下尝试使用GraphicsMagick的缩略图功能
2011/01/01 PHP
PHP递归返回值时出现的问题解决办法
2013/02/19 PHP
php实现mysql封装类示例
2014/05/07 PHP
PIGCMS 如何关闭聊天机器人
2015/02/12 PHP
php获取图片信息的方法详解
2015/12/10 PHP
PHP扩展迁移为PHP7扩展兼容性问题记录
2016/02/15 PHP
PHP实现创建一个RPC服务操作示例
2020/02/23 PHP
Aster vs Newbee BO5 第一场2.19
2021/03/10 DOTA
ext 代码生成器
2009/08/07 Javascript
JS禁用浏览器退格键实现思路及代码
2013/10/29 Javascript
Javascript浅谈之this
2013/12/17 Javascript
jQuery实现跟随鼠标运动图层效果的方法
2015/02/02 Javascript
那些精彩的JavaScript代码片段
2017/01/12 Javascript
vue.js分页中单击页码更换页面内容的方法(配合spring springmvc)
2018/02/10 Javascript
jquery radio 动态控制选中失效问题的解决方法
2018/02/28 jQuery
浅谈redux以及react-redux简单实现
2018/08/28 Javascript
Vue 页面权限控制和登陆验证功能的实例代码
2019/06/20 Javascript
vue路由切换时取消之前的所有请求操作
2020/09/01 Javascript
Ant design vue table 单击行选中 勾选checkbox教程
2020/10/24 Javascript
matplotlib中legend位置调整解析
2017/12/19 Python
Python实现邮件的批量发送的示例代码
2018/01/23 Python
Numpy将二维数组添加到空数组的实现
2019/12/05 Python
python安装和pycharm环境搭建设置方法
2020/05/27 Python
英国翻新电子产品购物网站:Tech Trade
2017/12/25 全球购物
爱尔兰电子产品购物网站:Komplett.ie
2018/04/04 全球购物
SmartBuyGlasses德国:购买太阳镜和眼镜
2019/08/20 全球购物
数控技校生自我鉴定
2014/03/02 职场文书
春节联欢会主持词
2014/03/24 职场文书
学习经验交流会主持词
2014/04/01 职场文书
工作期间打牌检讨书范文
2014/11/20 职场文书
小学生通知书评语
2014/12/31 职场文书
2015年社区党务工作总结
2015/04/21 职场文书
2015小学教师年度工作总结
2015/05/12 职场文书
初中毕业生感言
2015/07/31 职场文书
2019个人工作自我评价范文(3篇)
2019/09/19 职场文书