qt5 - QComboBox highlight 在禁用“可编辑”时中断

当我将 QComboBox 设置为不可编辑时,项目突出显示中断。更具体地说,每当我将鼠标悬停在一个项目上时,一个白色的矩形会隐藏所有项目,我基本上看不到我悬停的项目是什么。当我将对象更改为可编辑时,悬停工作正常。

有人知道我该如何解决这个错误吗?是不可编辑的与可编辑的 QComboBox 本质上不同的类,这会导致这种奇怪的碰撞吗?

我正在使用 QT designer 生成 UI 代码,然后我使用 pyuic.exe 脚本将 .ui 转换为 .py 代码。我不编辑 .py 代码。

我正在使用版本 PyQt5

提前致谢。

编辑:以下是生成的 .py 文件中有关此特定对象的部分:

self.block_list = QtWidgets.QComboBox(self.monitors_groupBox)
    self.block_list.setGeometry(QtCore.QRect(10, 50, 401, 31))
    font = QtGui.QFont()
    font.setFamily("Comfortaa")
    self.block_list.setFont(font)
    self.block_list.setCursor(QtGui.QCursor(QtCore.Qt.ArrowCursor))
    self.block_list.setMouseTracking(False)
        
    self.block_list.setContextMenuPolicy(QtCore.Qt.DefaultContextMenu)
    self.block_list.setAutoFillBackground(False)
    self.block_list.setStyleSheet("")
    self.block_list.setEditable(False)
    self.block_list.setObjectName("block_list")

回答1

问题最终成为 MainWindow 中的一个样式表条目,它一直向下渗透以影响所有 QComboBoxes。简单的条目是:

background-color: rgb(255, 255, 255);

当鼠标悬停在 QComboBox 上时,这会导致它变成完全白色。

旁注:使用 Qt Designer 预览模式时我无法重现该问题的原因是我必须在 Fusion 中选择“预览”,这不是默认方式,只有在 Fusion 中才会出现此错误。感谢@musicamante 的指导和帮助

相似文章

随机推荐

最新文章