PyQt5 – Background color to editable OFF state ComboBox on mouse hover

In this article we will see how to set the background color to the editable combo box which is currently in the OFF state and when hover over it. OFF state of the combo box is when the list menu is not opened. This background color will only appear if the combo box is editable and in OFF state and when cursor hover over combo box. Combo box is made editable with the help of setEditable method. In order to do so we have to change the style sheet code, below is the style sheet code
QComboBox::editable:!on:hover
{
background-color : lightgreen;
}
Below is the implementation
Python3
# importing librariesfrom PyQt5.QtWidgets import *from PyQt5 import QtCore, QtGuifrom PyQt5.QtGui import *from PyQt5.QtCore import *import sysclass Window(QMainWindow):    def __init__(self):        super().__init__()        # setting title        self.setWindowTitle("Python ")        # setting geometry        self.setGeometry(100, 100, 600, 400)        # calling method        self.UiComponents()        # showing all the widgets        self.show()    # method for widgets    def UiComponents(self):        # creating a combo box widget        self.combo_box = QComboBox(self)        # setting geometry of combo box        self.combo_box.setGeometry(200, 150, 150, 30)        # making combo box editable        self.combo_box.setEditable(True)        # geek list        geek_list = ["Sayian", "Super Sayian", "Super Sayian 2", "Super Sayian B"]        # adding list of items to combo box        self.combo_box.addItems(geek_list)        # adding background color to the combo box when it is editable        # and when it is in OFF state and mouse hover over it        self.combo_box.setStyleSheet("QComboBox::editable:! on:hover"                                     "{"                                     "background-color: lightgreen;"                                     "}")# create pyqt5 appApp = QApplication(sys.argv)# create the instance of our Windowwindow = Window()# start the appsys.exit(App.exec()) | 
Output :
				
					

