- 删除item时先要通过
QListWidget.indexFromItem(item).row()得到它的行数 - 通过
takeItem函数取出该Item并删除掉,item = self.listWidget.takeItem(row) - 移除item对应的自定义控件
self.listWidget.removeItemWidget(item) - 如果是清空所有Item,可以通过循环删除,但是删除的时候行号一直是0即可,原因和删除list数组一样。
简单思路说明:
- 利用
QListWidget设置一些特殊的参数达到可以横向自动显示 QNetworkAccessManager异步下载网页和图片- 滚动到底部触发下一页加载
自定义控件说明:
- 主要是多个layout和控件的结合,其中图片
QLabel为自定义,通过setPixmap设置图片,重写paintEvent绘制底部渐变矩形框和白色文字 - 字体颜色用qss设置
- 图标利用了
QSvgWidget显示,可以是svg 动画(如圆形加载图)
QListWidget的参数设置
setFlow(QListWidget.LeftToRight)setWrapping(True)setResizeMode(QListWidget.Adjust)
- 利用
QListWidget设置Item的自定义控件 QListWidget通过间隔设置QPushButton和CustomWidget来添加- 绑定按钮的选中状态通过
setHidden设置Item的隐藏和显示 - 自定义控件中尺寸发生变化后需要调用
adjustSize()来同步
根据官网文档 https://doc.qt.io/qt-5/qlistwidget.html#signals 中的信号介绍编写




