Open In App

PyQt5 QComboBox – Change border style when it is non-editable and get pressed

Last Updated : 01 Feb, 2023
Improve
Improve
Like Article
Like
Save
Share
Report

In this article we will see how we can change the border style of the combo box when it is non-editable 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 non-editable and get 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 stylesheet code

QComboBox::!non -editable:pressed
{
border : 4px black;
border-style : dotted;
}

Below is the implementation 

Python3




# importing libraries
from PyQt5.QtWidgets import *
from PyQt5 import QtCore, QtGui
from PyQt5.QtGui import *
from PyQt5.QtCore import *
import sys
 
 
class 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 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 non-editable
        # and get pressed
        self.combo_box.setStyleSheet("QComboBox"
                                     "{"
                                     "border : 4px solid black"
                                     "}"
                                     "QComboBox::! editable:pressed"
                                     "{"
                                     "border : 4px black;"
                                     "border-style : double;"
                                     "}")
 
# create pyqt5 app
App = QApplication(sys.argv)
 
# create the instance of our Window
window = Window()
 
# start the app
sys.exit(App.exec())


Output :



Similar Reads

PyQt5 QComboBox - Change border style when editable and get pressed
In this article we will see how we can change the border style of the combo box when it is editable 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 editable and get pressed else normal border will be visible.
2 min read
PyQt5 QComboBox - Change border style when it is non-editable and mouse hover
In this article we will see how we can change the border style of the combo box when it is non-editable and mouse hover over it, 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 non-editable and cursor is on the combo box else
2 min read
PyQt5 QComboBox – Change border style when it non-editable and off state
In this article we will see how we can change the border style of the combo box when it is non-editable and is in off state, 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 non-editable and in off state. In order to do this w
2 min read
PyQt5 QComboBox – Change border style when it non-editable and on state
In this article we will see how we can change the border style of the combo box when it is non-editable and is in on state, 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 non-editable and in on state. In order to do this we
2 min read
PyQt5 QComboBox – Change border style of lineedit part for non editable state and mouse hover
In this article we will see how we can change the border style to the line edit part of the non-editable combo box when mouse hover over it, line edit is the part of combo box which displays the selected item, it is editable by nature. In order to set and access the line edit object we use setLineEdit and lineEdit method respectively. Anti hover st
2 min read
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
2 min read
PyQt5 QComboBox - Change border style when it is non-editable
In this article we will see how we can change the border style of the combo box when it is non-editable, 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 combobox is non-editable else normal border will be visible. In order to do this we h
2 min read
PyQt5 QComboBox - Change border style when it is editable and mouse hover over it
In this article we will see how we can change the border style of the combo box when it is editable and mouse hover over it, 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 editable and cursor is on the combo box else normal
2 min read
PyQt5 QComboBox – Change border style when it editable and off state
In this article we will see how we can change the border style of the combo box when it is editable and is in off state, 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 editable and off state. In order to do this we have to c
2 min read
PyQt5 QComboBox – Change border style when it editable and on state
In this article we will see how we can change the border style of the combo box when it is editable and is in on state, 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 editable and in on state. In order to do this we have to
2 min read