📌  相关文章
📜  PyQt5 QComboBox – 可编辑时更改边框样式并将鼠标悬停在其上(1)

📅  最后修改于: 2023-12-03 14:45:48.169000             🧑  作者: Mango

PyQt5 QComboBox – 可编辑时更改边框样式并将鼠标悬停在其上

QComboBox是PyQt5中的一个下拉框控件,它允许用户从预定义的选项中选择一个。此外,它还可以通过设置setEditable(True)方法使其可编辑,这意味着用户可以输入自定义值。

在本文中,我们将讨论如何更改可编辑的QComboBox的边框样式,并在用户将鼠标悬停在其上时显示提示。

更改边框样式

可使用setStyleSheet()方法更改QComboBox的CSS样式表并更改其边框样式。以下示例将QComboBox的边框样式更改为红色实线:

comboBox.setStyleSheet("QComboBox { border: 2px solid red; }")
显示提示

当用户将鼠标悬停在可编辑的QComboBox上时,我们可以使用setToolTip()方法显示提示。以下示例在用户将鼠标悬停在QComboBox上时显示“请输入值”提示:

comboBox.setToolTip("请输入值")
完整示例代码
from PyQt5.QtWidgets import QApplication, QComboBox, QWidget
import sys

class Example(QWidget):
    
    def __init__(self):
        super().__init__()
        self.initUI()
        
    def initUI(self):
        self.setGeometry(300, 300, 300, 150)
        self.setWindowTitle('QComboBox')
        
        comboBox = QComboBox(self)
        comboBox.setEditable(True)
        comboBox.move(50, 50)
        comboBox.addItems(['Python', 'Java', 'C++'])
        comboBox.setStyleSheet("QComboBox { border: 2px solid red; }")
        comboBox.setToolTip("请输入值")
        
        self.show()
        
if __name__ == '__main__':
    app = QApplication(sys.argv)
    ex = Example()
    sys.exit(app.exec_())

以上代码将创建一个可编辑的QComboBox,并将其边框样式更改为红色实线。当用户将鼠标悬停在QComboBox上时,它会显示“请输入值”提示。