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的操作难点总结(新手必看篇)
Aug 03 Python
解决python3 安装完Pycurl在import pycurl时报错的问题
Oct 15 Python
python 多个参数不为空校验方法
Feb 14 Python
react+django清除浏览器缓存的几种方法小结
Jul 17 Python
linux环境下Django的安装配置详解
Jul 22 Python
pytorch 预训练层的使用方法
Aug 20 Python
Python socket模块方法实现详解
Nov 05 Python
python with语句的原理与用法详解
Mar 30 Python
matplotlib.pyplot.matshow 矩阵可视化实例
Jun 16 Python
python 牛顿法实现逻辑回归(Logistic Regression)
Oct 15 Python
Python中正则表达式对单个字符,多个字符和匹配边界等使用
Jan 27 Python
解决pycharm安装scrapy DLL load failed:找不到指定的程序的问题
Jun 08 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/03 咖啡文化
关于文本留言本的分页代码
2006/10/09 PHP
PHP中改变图片的尺寸大小的代码
2011/07/17 PHP
php下载文件源代码(强制任意文件格式下载)
2014/05/09 PHP
PHP实现Javascript中的escape及unescape函数代码分享
2015/02/10 PHP
php 魔术常量详解及实例代码
2016/12/04 PHP
php面向对象之反射功能与用法分析
2017/03/29 PHP
Laravel框架自定义验证过程实例分析
2019/02/01 PHP
用jquery来定位
2007/02/20 Javascript
JavaScript获取伪元素(Pseudo-Element)属性的方法技巧
2015/03/13 Javascript
详解javascript中的事件处理
2015/11/06 Javascript
JavaScript类型系统之Object详解
2016/01/07 Javascript
基于jquery实现智能表单验证操作
2016/05/09 Javascript
浅谈String.valueOf()方法的使用
2016/06/06 Javascript
原生js实现淘宝购物车功能
2020/06/23 Javascript
vue.js开发环境安装教程
2017/03/17 Javascript
async/await优雅的错误处理方法总结
2019/01/30 Javascript
Vue SSR 即时编译技术的实现
2020/05/06 Javascript
vue动态加载SVG文件并修改节点数据的操作代码
2020/08/17 Javascript
[15:09]DOTA2国际邀请赛采访专栏:Loda
2013/08/06 DOTA
python处理图片之PIL模块简单使用方法
2015/05/11 Python
在Python中定义和使用抽象类的方法
2016/06/30 Python
Python程序中设置HTTP代理
2016/11/06 Python
Python使用cx_Oracle调用Oracle存储过程的方法示例
2017/10/07 Python
python实现把两个二维array叠加成三维array示例
2019/11/29 Python
解决Python import docx出错DLL load failed的问题
2020/02/13 Python
利用python如何实现猫捉老鼠小游戏
2020/12/04 Python
Bose美国官网:购买Bose耳机和音箱
2019/03/10 全球购物
大学生毕业自我鉴定范文
2013/11/03 职场文书
微观物理专业自荐信
2014/01/26 职场文书
爱耳日活动总结
2014/04/30 职场文书
服务承诺书范文
2014/05/19 职场文书
公司副总经理任命书
2014/06/05 职场文书
办理信用卡收入证明范例
2014/09/13 职场文书
群众路线教育实践活动个人对照检查材料
2014/09/22 职场文书
2015年安全工作总结范文
2015/04/02 职场文书