代码:

#!/usr/bin/python3
# -*- coding: utf-8 -*-from PyQt5.QtCore import QSize
from PyQt5.QtWidgets import QApplication, QWidget, QHBoxLayout,QVBoxLayout
import sys
from PyQt5.QtWidgets import QPushButton
from PyQt5.QtWidgets import QFormLayout,QLineEdit,QLabel, QListWidget,QListWidgetItemclass Example(QWidget):def __init__(self):super().__init__()self.initUI()layout = QVBoxLayout(self)# 列表self.listWidget = QListWidget(self)layout.addWidget(self.listWidget)self.get_content_button = QPushButton('获得内容', self)self.show_content_label = QLabel("content:")layout.addWidget(self.show_content_label)layout.addWidget(self.get_content_button)item = QListWidgetItem()  # 创建QListWidgetItem对象item.setSizeHint(QSize(300, 100))  # 设置QListWidgetItem大小self.tab1 = QWidget()self.tab1UI()self.listWidget.addItem(item)  # 添加itemself.listWidget.setItemWidget(item, self.tab1 )  # 为item设置widgetitem2 = QListWidgetItem()  # 创建QListWidgetItem对象item2.setSizeHint(QSize(300, 100))  # 设置QListWidgetItem大小self.tab2 = QWidget()self.tab2UI()self.listWidget.addItem(item2)  # 添加itemself.listWidget.setItemWidget(item2, self.tab2)  # 为item设置widgetself.list_ui("lab1", "lab2", "AAA", "BBB")self.list_ui("lab1", "lab2", "111", "222")self.get_content_button.clicked.connect(self.get_content)def get_content(self):passwindows = self.listWidget.currentItem()print(type(windows))widget = self.listWidget.itemWidget(windows)print(type(widget))item = widget.findChild(QLabel, "lab1")print(type(item))if item:print(item.text())self.show_content_label.setText('content:' + item.text())def list_ui(self,label1_name,label2_name,label1_content,label2_content):control = QListWidgetItem()control.setSizeHint(QSize(300, 100))  # 设置QListWidgetItem大小widget = QWidget()layout = QHBoxLayout()label1 = QLabel(label1_content)label2 = QLabel(label2_content)label1.setObjectName(label1_name)label2.setObjectName(label2_name)layout.addWidget(label1)layout.addWidget(label2)widget.setLayout(layout)self.listWidget.addItem(control)self.listWidget.setItemWidget(control, widget)def tab1UI(self):layout = QFormLayout()layout.addRow("姓名", QLineEdit())layout.addRow("地址", QLineEdit())self.tab1.setLayout(layout)def tab2UI(self):layout = QFormLayout()layout.addRow("年龄", QLineEdit())layout.addRow("性别", QLineEdit())self.tab2.setLayout(layout)def initUI(self):self.setGeometry(300, 300, 600, 620)if __name__ == '__main__':app = QApplication(sys.argv)ex = Example()ex.show()sys.exit(app.exec_())

输出:

E:\pyqt\work\hello\venv\Scripts\python.exe E:/pyqt/work/hello/code1/app.py
<class 'PyQt5.QtWidgets.QListWidgetItem'>
<class 'PyQt5.QtWidgets.QWidget'>
<class 'PyQt5.QtWidgets.QLabel'>
111
<class 'PyQt5.QtWidgets.QListWidgetItem'>
<class 'PyQt5.QtWidgets.QWidget'>
<class 'PyQt5.QtWidgets.QLabel'>
AAA


参考:
https://www.cnblogs.com/ribavnu/p/4674095.html
pyqt的setObjectName()/findChild()

https://blog.csdn.net/chen1231985111/article/details/86304481
QLlistwidget 自定义item 并获取 item上的内容

https://www.cnblogs.com/jmtm/p/9879414.html

https://stackoverflow.com/questions/54753024/pyqt5-find-row-of-qlistwidgetitem

http://www.cocoachina.com/articles/92799
可能有一个QListWidget选择多个setCurrentItems

https://blog.csdn.net/qq_42436176/article/details/88917897

https://github.com/maicss/PyQt5-Chinese-tutorial/blob/master/hello_world.md

maicss/PyQt5-Chinese-tutorial

https://github.com/maicss/PyQt5-Chinese-tutorial/blob/master/%E4%BF%84%E7%BD%97%E6%96%AF%E6%96%B9%E5%9D%97%E6%B8%B8%E6%88%8F.md

python中集合set,字典dict和列表list的区别以及用法
https://www.cnblogs.com/robert-zhang/p/9158823.html

python工具库介绍-enum: 枚举
https://www.jianshu.com/p/366c71b2337b

pyqt5 QListWidget QListWidgetItem例子相关推荐

  1. PyQt5入门——QListWidget实现图片缩略图列表

    需求描述 最近在写一个图像标注小工具,其中需要用到一个缩略图列表,来查看文件夹内的图片文件. 这里整理一个基于QListWidget实现的版本,简单可用. 示例效果 代码示例 QListWidget官 ...

  2. pyqt5讲解9:时间模块timer和网页交互

    time 如果要在应用程序中周期性地进行某项操作,则需要用到QTimer定时器,QTimer类提供了重复的和单次的定时器.要使用定时器,需要先创建一个QTimer实例,将其timeout信号连接到相应 ...

  3. python3结果窗口打开_python3+PyQt5 使用三种不同的简便项窗口部件显示数据的方法...

    本文通过将同一个数据集在三种不同的简便项窗口部件中显示.三个窗口的数据得到实时的同步,数据和视图分离.当添加或删除数据行,三个不同的视图均保持同步.数据将保存在本地文件中,而非数据库.对于小型和临时性 ...

  4. pyqt5实战开发主窗口加布局

    # -*- coding: utf-8 -*-'''[简介]PyQt5中 QDockWidget 例子'''import sys from PyQt5.QtCore import * from PyQ ...

  5. 列表框QListWidget 类

    文章目录 1 QListWidget 简介 2 QListWidget 常用操作 2.1 添加操作 2.2 删除操作 1 QListWidget 简介 Qt 提供 QListWidget 类列表框控件 ...

  6. pyqt5讲解6:菜单栏,工具栏,状态栏

    菜单栏QMenuBar 方法 描述 menuBar() 用于返回主窗口的QMenuBar对象 addMenu() 将菜单添加到菜单栏: addAction() 在菜单中进行添加某些操作: setEna ...

  7. pyqt5讲解5:窗口绘图类控件QPainter,QPen,QBrush,QPixmap

    1.QPainter 常用方法 方法 描述 begin() 开始在目标设备上绘制 drawArc() 在起始角度和最终角度之间画弧 drawEliipse() 在一个矩形内画一个椭圆 drawLine ...

  8. pyqt5讲解2:QPushButton,QRadioButton,QCheckBox

    按钮QPushButton 常用方法 描述 setCheckable() 设置按钮是否已经被选中,如果设置True,则表示按钮将保持已点击和释放状态 toggle() 在按钮状态之间进行切换 setI ...

  9. pyqt5讲解1:窗口,QLabel,QLineEdit,QTextEdit

    过年的时候学习啦pyqt,不怎么用,都快忘记知识点啦. 开始写下吧,好记性不如烂笔头. 窗口类控件 QMainWindow 详细描述 QMainWindow类提供一个有菜单条.锚接窗口(例如工具条)和 ...

最新文章

  1. Spring5源码 - 11 Spring事件监听机制_源码篇
  2. page分页问题,根据页码获取对应页面的数据,接口调用
  3. keras入门之手写字识别python代码
  4. 树莓派安装vnc server并设置自启动
  5. 使用Telnet命令收发E-mail
  6. 下方向键_求助:Deepin-linux-opencv方向键
  7. 慕课网仿去哪儿项目笔记--(一)-初始化准备
  8. autojs之提取text中的红色文字(图片二值化+百度智能云-文字识别OCR-接口调用)
  9. 怎么复制黑苹果config配置_只需3步,实现黑苹果USB端口配置
  10. Scintilla的使用c++ build
  11. js控制flash播放器
  12. ERP业务流程优化设计之思想和原则
  13. Evernote international 剪藏
  14. [数学建模] 微分方程--捕鱼业的持续发展
  15. 用C语言编程实现拓扑排序,拓扑排序(一)之 C语言详解
  16. Hadoop在windows下本地调试报错:Exception in thread “main“ java.lang.ExceptionInInitializerError
  17. 【玩计算机才是最好的出路】
  18. 7-5小组日报 最终版的发布
  19. 小程序兼容各个ios版本
  20. 朗读评价语言集锦_课堂评价语言“集锦”

热门文章

  1. 个人项目总结------珠宝管理系统
  2. 简述css属性选择器的几种定义方式_CSS属性选择器
  3. java String计算MD5的三种方法以及文件计算MD5的方法
  4. 良心推荐PHP学习路线图
  5. 我的服务器上的无线网络显禁用,无线网络被禁用怎么开启,点启用不好使
  6. 前端如何进行用户权限管理
  7. 贝叶斯推理——概率思维
  8. python whl下载地址_python库(whl)文件下载地址
  9. 分治算法经典问题---大整数乘法(1~32位大整数乘法)C++
  10. Linux操作系统(一)系统初始化