我就废话不多说了,大家还是直接看代码吧~
实例:
from PyQt5 import QtCore, QtGui, QtWidgets from PyQt5.QtCore import * from PyQt5.QtWidgets import * from PyQt5.QtGui import * import sys class Win(QWidget): def __init__(self): super(Win, self).__init__() self.setObjectName(\"self\") self.resize(400, 300) self.listWidget = QtWidgets.QListWidget(self) self.listWidget.setGeometry(QtCore.QRect(10, 20, 256, 192)) self.listWidget.setObjectName(\"listWidget\") self.pushButton = QtWidgets.QPushButton(self) self.pushButton.setGeometry(QtCore.QRect(280, 60, 75, 23)) self.pushButton.setObjectName(\"pushButton\") self.pushButton.clicked.connect(self.add) self.retranslateUi() QtCore.QMetaObject.connectSlotsByName(self) def retranslateUi(self): _translate = QtCore.QCoreApplication.translate self.setWindowTitle(_translate(\"self\", \"self\")) self.pushButton.setText(_translate(\"self\", \"PushButton\")) def add(self): self.listWidget.addItem(\'123\') index=self.listWidget.currentRow()+1 if index: self.listWidget.item(index-1).setBackground(QColor(\'green\')) self.listWidget.item(index).setBackground(QColor(\'red\')) else: self.listWidget.item(index).setBackground(QColor(\'blue\')) self.listWidget.setCurrentRow(self.listWidget.currentRow()+1) app=QApplication(sys.argv) win=Win() win.show() sys.exit(app.exec_())
补充:PyQt QListWidget 删除item的坑
使用removeItemWidget函数需要QListWidgetItem的对象本身作为参数,通过findItems得到了对象,调用了函数,但是还是没反应,PyQt5的bug?
使用takeItem删除成功了
item=self.listWidget.findItems(\'张三\',Qt.MatchExactly)[0] row=self.listWidget.row(item) print(row) self.listWidget.takeItem(row)
以上为个人经验,希望能给大家一个参考,也希望大家多多支持免费资源网。如有错误或未考虑完全的地方,望不吝赐教。
© 版权声明
THE END
暂无评论内容