首页 > 解决方案 > 禁用在 QListWidget pyqt5 中突出显示所选项目

问题描述

如何在QListWidgetpyqt5 中禁用突出显示选定项目?

尝试了以下不起作用:

from PyQt5.QtGui import QPalette
from PyQt5.QtWidgets import QApplication, QListWidget, QListWidgetItem, QGridLayout, QLabel, QWidget

app = QApplication([])
widget = QWidget()
listWidget = QListWidget()
item = QListWidgetItem('Pogba', listWidget)
layout.addWidget(listWidget)

#Attempt
palette = QPalette()
palette.setColor(QPalette.Highlight, listWidget.palette().color(QPalette.Base))
palette.setColor(QPalette.HighlightedText, listWidget.palette().color(QPalette.Text))
listWidget.setPalette(palette)

widget.setLayout(layout)
widget.show()
app.exec()

以下仅使项目变为灰色而不是蓝色:

from PyQt5.QtGui import QPalette
from PyQt5.QtWidgets import QApplication, QListWidget, QListWidgetItem, QGridLayout, QLabel, QWidget

app = QApplication([])
widget = QWidget()
listWidget = QListWidget()
item = QListWidgetItem('Pogba', listWidget)
layout.addWidget(listWidget)

#Other attempt
listWidget.setFocusPolicy(Qt.NoFocus)

widget.setLayout(layout)
widget.show()
app.exec()

还有另一种方法可以实现这一目标吗?

标签: pythonpyqt5highlightqlistwidgetqlistwidgetitem

解决方案


推荐阅读