PyQt5 QComboBox – Change border style when it is in off state and when it get pressed

In this article we will see how we can change the border style of the combo box when it is in off state and get pressed, border style can be dotted, dashed etc. When we set border to the combo box it is continuous although we can change it. Styled border will be only visible when combo box is in off state and it gets pressed else normal border will be visible.
In order to do this we have to change the style sheet associated with the combo box, below is the style sheet code
QComboBox::!on:pressed
{
border : 4px black;
border-style : dotted;
}
Below is the implementation
| # importing libraries fromPyQt5.QtWidgets import*fromPyQt5 importQtCore, QtGui fromPyQt5.QtGui import*fromPyQt5.QtCore import*importsys   classWindow(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     defUiComponents(self):         # creating a check-able combo box object         self.combo_box =QComboBox(self)          # setting geometry of combo box         self.combo_box.setGeometry(200, 150, 100, 40)          # 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)          # setting stylesheet of the combo box         # set the border style when it is in off state         # and get pressed         self.combo_box.setStyleSheet("QComboBox"                                     "{"                                     "border : 4px solid black"                                     "}"                                     "QComboBox::! on:pressed"                                     "{"                                     "border : 4px black;"                                     "border-style : dotted;"                                     "}")  # create pyqt5 app App =QApplication(sys.argv)  # create the instance of our Window window =Window()  # start the app sys.exit(App.exec())  | 
Output :
 
				 
					


