列表视图QlistView要配合setModel模型一起使用

例子一 QStringListModel()  字符串列表模型

 import sys
from PyQt5.QtWidgets import QApplication,QWidget,QVBoxLayout,QListView,QMessageBox
from PyQt5.QtCore import QStringListModel class Demo(QWidget):
def __init__(self,parent=None):
super(Demo, self).__init__() self.resize(300,270)
self.setWindowTitle('QListView 例子') layout=QVBoxLayout() self.listview=QListView() #实例化列表视图 slm=QStringListModel() #实例化字符串列表模型
self.qList=['Item 1','Item 2','Item 3','Item 4'] slm.setStringList(self.qList) #给字符串列表模型对象添加数据-字符串列表 self.listview.setModel(slm) #给列表视图设置模型 self.listview.clicked.connect(self.clicked) #列表视图被单击时触发信号
#此信号会自动发出一个参数:被选中项的信息对象 layout.addWidget(self.listview) #【QListView好像只能在布局控件中才能显示??】
self.setLayout(layout) def clicked(self,qModelIndex):
print(qModelIndex) #<PyQt5.QtCore.QModelIndex object at 0x00000025A764BC88>
print(qModelIndex.row()) #获取选中项的索引号
#提示信息弹窗,你选择的信息
QMessageBox.information(self,'ListWidget','你选择了:'+self.qList[qModelIndex.row()])
if __name__ == '__main__':
app=QApplication(sys.argv)
win=Demo()
win.show()
sys.exit(app.exec_())
self.listview.doubleClicked.connect(self.aa) #列表视图被双击时触发信号
# 此信号会自动发出一个参数:被选中项的信息对象

例子二  QDirModel 目录模型

 import sys
from PyQt5.QtCore import Qt
from PyQt5.QtWidgets import QApplication, QSplitter, QListView, QTreeView, QTableView, QDirModel,QWidget class Demo(QWidget):
def __init__(self):
super(Demo, self).__init__()
self.resize(800,220)
self.dir_model = QDirModel(self) # 实例化目录模型QDirModel self.list_view = QListView(self)
self.tree_view = QTreeView(self)
self.table_view = QTableView(self)
self.list_view.setModel(self.dir_model) #给列表视图设置模型【目录模型】
self.tree_view.setModel(self.dir_model) #给树形视图设置模型【目录模型】【列出目录-非常好】
self.table_view.setModel(self.dir_model)#给表格视图设置模型
self.tree_view.move(270,0)
self.table_view.move(540,0) self.tree_view.doubleClicked.connect(self.show_func) #双击树形视图时发出信号
#此信号会自动发出包含被双击项信息的参数 def show_func(self, index): self.list_view.setRootIndex(index) #设置列表视图的根索引。把index项目做为列表视图的根索引并显示出来
self.table_view.setRootIndex(index) #设置表格视图的根索引 if __name__ == '__main__':
app = QApplication(sys.argv)
demo = Demo()
demo.show()
sys.exit(app.exec_())

列表视图QlistView的更多相关文章

  1. jQuery Mobile 列表视图(带有自动检索)

    输入a: 输入b: jQuery Mobile 列表视图 jQuery Mobile 中的列表视图是标准的 HTML 列表:有序列表 (<ol>) 和无序列表 (<ul>). ...

  2. SharePoint 2013无代码实现列表视图的时间段动态筛选

    本文介绍两种为列表视图设置时间段筛选器的方法.其中,第一个方法用于SharePoint Server,第二个方法同时还能用于SharePoint Foundation. 方法一:日期筛选器Web部件 ...

  3. Sharepoint 2013列表视图和字段权限扩展插件(免费下载)!

    记得2014年春节期间,有博客园的网友通过QQ向我咨询Sharepoint 2013列表视图和字段权限扩展,因为之前他看到我博客介绍Sharepoint 2010列表视图和字段的权限控制扩展使用,问有 ...

  4. Android列表视图(List View)

    Android列表视图(ListView) ListView是一个显示滚动项列表的示视图组(viewgroup),通过使用适配器(Adapter)把这些列表项自动插入到列表中.适配器比如从一个数组或是 ...

  5. Android——列表视图(ListView)

    列表视图是android中最常用的一种视图组件,它以垂直列表的形式列出需要显示的列表项.在android中有两种方法向屏幕中添加列表视图:一种是直接使用ListView组件创建:另外一种是让Activ ...

  6. Android应用开发学习之列表视图

    作者:刘昊昱 博客:http://blog.csdn.net/liuhaoyutz 列表视图我们会经常用到,可以通过两种方式来创建列表视图,一种方式是直接使用ListView组件创建,另一种方式是通过 ...

  7. delphi列表视图组件(TListView)使用方法|实例

    TListView 组件以多种形式显示列表的项目,如详细资料.小图标.大图标等形式表示列表中的项目.    列表视图与用TListBox 组件实现的列表框非常相似.不同的是,列表视图可以让用户选择不同 ...

  8. odoo-开发笔记 列表视图 增加记录弹出窗口效果

    editable="bottom" 增加该标签的效果是,添加记录的时候,在原列表视图上一行一行添加; 去掉该标签之后,那么增加新记录的时候,会以弹出窗口的方式实现. 如果弹出的窗口 ...

  9. odoo开发笔记-- 按钮动作跳转到其他列表视图默认搜索

    按钮动作跳转到其他列表视图 按照默认指定的条件搜索显示. 效果: 实现方式:

随机推荐

  1. apache2.4.29安装脚本

    #!/bin/bash . /etc/init.d/functions yum install -y expat-devel gcc gcc-c++ zlib-devel openssl-devel ...

  2. ItemsControl的两种数据绑定方式

    最近在学习ItemsControl这个控件的时候,查看了MSDN上面的一个例子,并且自己做了一些修改,这里主要使用了两种方式来进行相应的数据绑定,一种是使用DataContext,另外一种是直接将一个 ...

  3. jmeter创建高级测试计划

    如果应用程序使用重写地址而不是使用cookie存储信息,需要做一些额外的工作去测试程序 为了正确的响应重写地址,jmeter 需要解析 从服务器获取html 并且检索会话ID, 1 合理利用pre-p ...

  4. html DOM導航

    getElementByTagname()獲取所有相同標籤的節點列表,length表示節點的長度: lastchild表示最後一個子節點,firstchild表示第一個子節點,parentnode表示 ...

  5. Layui_1.0.9_分页实例_Java

    一.实体 package com.ebd.application.modules.taskManage.pojo; import com.ebd.application.common.Base.Bas ...

  6. BZOJ3771 Triple(FFT+容斥原理)

    思路比较直观.设A(x)=Σxai.先把只选一种的统计进去.然后考虑选两种,这个直接A(x)自己卷起来就好了,要去掉选同一种的情况然后除以2.现在得到了选两种的每种权值的方案数,再把这个卷上A(x). ...

  7. VMware下Mac系统自适应屏幕

    1.下载VMwareTool工具镜像 链接:https://pan.baidu.com/s/1gvXBdzrwYyOEl6yhJurUig 提取码:s1po 2.打开Mac系统,推出DVD 2.设置连 ...

  8. bzoj 2141 : 排队 (cdq分治+bit)

    链接: https://www.lydsy.com/JudgeOnline/problem.php?id=2141 思路: 其实就是求动态逆序对...cdq降维,用树状数组前后求两遍逆序对就好了 切水 ...

  9. day8 文件操作

    文件基本操作 # 打开文件 f = open("小重山","r",encoding="utf-8") # readline 方法 只查看一行 ...

  10. 向git添加和提交文件

    状态 git status 可以知道有哪些文件被修改,哪些文件待提交 当前无待提交文件 分区 三个分区:工作区,缓存区,版本库 三个分区之间的联系: 工作区 >> git add > ...