pyqt|pyqt qlistwidget改变item颜色的操作
我就废话不多说了,大家还是直接看代码吧~
实例:
from PyQt5 import QtCore, QtGui, QtWidgetsfrom PyQt5.QtCore import *from PyQt5.QtWidgets import *from PyQt5.QtGui import *import sysclass 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.translateself.setWindowTitle(_translate("self", "self"))self.pushButton.setText(_translate("self", "PushButton"))def add(self):self.listWidget.addItem('123')index=self.listWidget.currentRow()+1if 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的坑
【pyqt|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)
以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。如有错误或未考虑完全的地方,望不吝赐教。
推荐阅读
- 2018-02-06第三天|2018-02-06第三天 不能再了,反思到位就差改变
- 改变自己,先从自我反思开始
- 越努力越幸福
- #微习惯可以改变你#第2周复盘
- 如何启动改变
- 改变没有对错
- iview|iview upload 动态改变上传参数
- 《习惯陷阱》(改变思维习惯,突破人生局限,成为你想成为的人)
- 改变不了社会就改变自己()
- 直面过去,改变生活