主页 > 知识库 > pyqt qlistwidget改变item颜色的操作

pyqt qlistwidget改变item颜色的操作

热门标签:呼叫中心市场需求 语音系统 Win7旗舰版 企业做大做强 客户服务 百度AI接口 硅谷的囚徒呼叫中心 电话运营中心

我就废话不多说了,大家还是直接看代码吧~

实例:

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)

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。如有错误或未考虑完全的地方,望不吝赐教。

您可能感兴趣的文章:
  • PyQt5 在QListWidget自定义Item的操作
  • PyQt QListWidget修改列表项item的行高方法
  • python GUI库图形界面开发之PyQt5窗口控件QWidget详细使用方法

标签:崇左 喀什 济南 海南 长沙 安康 山西 山西

巨人网络通讯声明:本文标题《pyqt qlistwidget改变item颜色的操作》,本文关键词  ;如发现本文内容存在版权问题,烦请提供相关信息告之我们,我们将及时沟通与处理。本站内容系统采集于网络,涉及言论、版权与本站无关。
  • 相关文章
  • 收缩
    • 微信客服
    • 微信二维码
    • 电话咨询

    • 400-1100-266