IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> Python知识库 -> Python3+PyQt5基础(二)如何通过QListView当前所在行获得其背后的多列信息 -> 正文阅读

[Python知识库]Python3+PyQt5基础(二)如何通过QListView当前所在行获得其背后的多列信息

1.问题的提出:

一般我们在实际的应用场合中会有这种情况,通过数据库获得员工信息,信息中有工号,姓名,邮箱等等,现在想通过QListView显示员工姓名,选中行后能得到其其他列信息

2.解决方法:

????????1)初始化python的数据类型为列表list中包含元组tuple

self.strlist1 = [(1001, '阿桂1', '17280671@qq.com'), (1002, '桂子哥', '17280671@qq.com'),
                         (1003, '赵大', '17280671@qq.com'), (1004, '钱钱', '17280671@qq.com'),
                         (1005, '小李子', '17280671@qq.com'), (1006, '孙二娘', '17280671@qq.com'), (1007, '周小虎', '17280671@qq.com'),
                         (1008, '李小龙', '17280671@qq.com'), (1009, '天天', '17280671@qq.com')]

? ? ? ? 2)使用PyQt5的QStandardItem和QStandardItemModel得到Model

def initData(self):
    self.model1 = QStandardItemModel(self)
    for t in enumerate(self.strlist1):
        self.model1.setItem(t[0],0,QStandardItem(t[1][0]))
        self.model1.setItem(t[0], 1, QStandardItem(t[1][1]))
        self.model1.setItem(t[0], 2, QStandardItem(t[1][2]))
        print(t[0],t[1][0],t[1][1],t[1][2])
    self.listView.setModel(self.model1)
    self.listView.setModelColumn(1)

    self.lineEdit.textChanged[str].connect(self.searchdo)
    self.listView.clicked.connect(self.showmess)

????????3)对QListView的内容进行筛查过滤显示? ? ?

    def searchdo(self,str):
        self.tmplist1=[]
        for ttstr in self.strlist1:
            if str in ttstr[1]:
                self.tmplist1.append(ttstr)
        print(self.tmplist1)
        self.model11 = QStandardItemModel(self)
        for t in enumerate(self.tmplist1):
            self.model11.setItem(t[0], 0, QStandardItem(t[1][0]))
            self.model11.setItem(t[0], 1, QStandardItem(t[1][1]))
            self.model11.setItem(t[0], 2, QStandardItem(t[1][2]))
            print("model11",t[0], t[1][0], t[1][1], t[1][2])
        self.listView.setModel(self.model11)

总结:重点在于1)将pythonlist+tuple转化为QStandardItem及QStandardItemModel的多列方式

? ? ? ? 2)通过QListView指定列进行显示指定列??????

self.listView.setModelColumn(1)

? ?下载链接说明:

? ? ? ?与前一篇博文:Python3+PyQt5基础(一)实现QListView搜索过滤问题_菜鸟得财的博客-CSDN博客

项目源码下载说明:两篇博文的源码集中在一个项目中

源码下载地址:https://download.csdn.net/download/gui818/85293181icon-default.png?t=M3K6https://download.csdn.net/download/gui818/85293181

  Python知识库 最新文章
Python中String模块
【Python】 14-CVS文件操作
python的panda库读写文件
使用Nordic的nrf52840实现蓝牙DFU过程
【Python学习记录】numpy数组用法整理
Python学习笔记
python字符串和列表
python如何从txt文件中解析出有效的数据
Python编程从入门到实践自学/3.1-3.2
python变量
上一篇文章           查看所有文章
加:2022-05-07 11:09:05  更:2022-05-07 11:10:50 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年12日历 -2024/12/27 19:02:25-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码
数据统计