pyqt5 QListWidget QListWidgetItem例子
代码:
#!/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例子相关推荐
- PyQt5入门——QListWidget实现图片缩略图列表
需求描述 最近在写一个图像标注小工具,其中需要用到一个缩略图列表,来查看文件夹内的图片文件. 这里整理一个基于QListWidget实现的版本,简单可用. 示例效果 代码示例 QListWidget官 ...
- pyqt5讲解9:时间模块timer和网页交互
time 如果要在应用程序中周期性地进行某项操作,则需要用到QTimer定时器,QTimer类提供了重复的和单次的定时器.要使用定时器,需要先创建一个QTimer实例,将其timeout信号连接到相应 ...
- python3结果窗口打开_python3+PyQt5 使用三种不同的简便项窗口部件显示数据的方法...
本文通过将同一个数据集在三种不同的简便项窗口部件中显示.三个窗口的数据得到实时的同步,数据和视图分离.当添加或删除数据行,三个不同的视图均保持同步.数据将保存在本地文件中,而非数据库.对于小型和临时性 ...
- pyqt5实战开发主窗口加布局
# -*- coding: utf-8 -*-'''[简介]PyQt5中 QDockWidget 例子'''import sys from PyQt5.QtCore import * from PyQ ...
- 列表框QListWidget 类
文章目录 1 QListWidget 简介 2 QListWidget 常用操作 2.1 添加操作 2.2 删除操作 1 QListWidget 简介 Qt 提供 QListWidget 类列表框控件 ...
- pyqt5讲解6:菜单栏,工具栏,状态栏
菜单栏QMenuBar 方法 描述 menuBar() 用于返回主窗口的QMenuBar对象 addMenu() 将菜单添加到菜单栏: addAction() 在菜单中进行添加某些操作: setEna ...
- pyqt5讲解5:窗口绘图类控件QPainter,QPen,QBrush,QPixmap
1.QPainter 常用方法 方法 描述 begin() 开始在目标设备上绘制 drawArc() 在起始角度和最终角度之间画弧 drawEliipse() 在一个矩形内画一个椭圆 drawLine ...
- pyqt5讲解2:QPushButton,QRadioButton,QCheckBox
按钮QPushButton 常用方法 描述 setCheckable() 设置按钮是否已经被选中,如果设置True,则表示按钮将保持已点击和释放状态 toggle() 在按钮状态之间进行切换 setI ...
- pyqt5讲解1:窗口,QLabel,QLineEdit,QTextEdit
过年的时候学习啦pyqt,不怎么用,都快忘记知识点啦. 开始写下吧,好记性不如烂笔头. 窗口类控件 QMainWindow 详细描述 QMainWindow类提供一个有菜单条.锚接窗口(例如工具条)和 ...
最新文章
- Spring5源码 - 11 Spring事件监听机制_源码篇
- page分页问题,根据页码获取对应页面的数据,接口调用
- keras入门之手写字识别python代码
- 树莓派安装vnc server并设置自启动
- 使用Telnet命令收发E-mail
- 下方向键_求助:Deepin-linux-opencv方向键
- 慕课网仿去哪儿项目笔记--(一)-初始化准备
- autojs之提取text中的红色文字(图片二值化+百度智能云-文字识别OCR-接口调用)
- 怎么复制黑苹果config配置_只需3步,实现黑苹果USB端口配置
- Scintilla的使用c++ build
- js控制flash播放器
- ERP业务流程优化设计之思想和原则
- Evernote international 剪藏
- [数学建模] 微分方程--捕鱼业的持续发展
- 用C语言编程实现拓扑排序,拓扑排序(一)之 C语言详解
- Hadoop在windows下本地调试报错:Exception in thread “main“ java.lang.ExceptionInInitializerError
- 【玩计算机才是最好的出路】
- 7-5小组日报 最终版的发布
- 小程序兼容各个ios版本
- 朗读评价语言集锦_课堂评价语言“集锦”