Open In App

PyQt5 QComboBox – Change border style of lineedit part for non editable state and mouse hover

Last Updated : 17 May, 2020
Improve
Improve
Like Article
Like
Save
Share
Report

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 state is when mouse is not on the combo box.

Note : When we create line edit object it make the combo box editable therefore there is a need to stop line edit to receive input.

In order to do this we have to do the following :

1. Create a combo box
2. Add item to the combo box
3. Create a QLineEdit object
4. Set border to QLineEdit object
5. Add border style to it when mouse hover over it
6. Make it read only
7. Add QLineEdit object to the combo box

Syntax :

# creating line edit object
line_edit = QLineEdit()

# setting border to the line edit part
# set border style
line_edit.setStyleSheet("QLineEdit::hover"
                        "{"
                        "border : 4px black;"
                        "border-style : dotted;"
                        "}")

# making line edit non editable
line_edit.setReadOnly(True)

# adding line edit object to the combo box
self.combo_box.setLineEdit(line_edit)

Below is the implementation




# 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, 150, 80)
  
        # 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)
  
        # creating line edit object
        line_edit = QLineEdit()
  
        # setting border to the line edit part
        # set border style when mouse hover over it 
        line_edit.setStyleSheet("QLineEdit"
                                "{"
                                "border : 4px solid black;"
                                "}"
                                "QLineEdit::hover"
                                "{"
                                "border-style : dashed;"
                                "}")
  
        # making line edit non editable
        line_edit.setReadOnly(True)
  
  
        # adding line edit object to the combo box
        self.combo_box.setLineEdit(line_edit)
  
  
# 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 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 - Adding border to lineedit part of non-editable combobox when mouse hover
In this article we will see how we can set border to the line edit part of the non-editable combo box when mouse hover over it. Line edit part 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. Note : When we add li
2 min read
PyQt5 - Different border color to lineedit part on mouse hover (for non editable Combobox)
In this article we will see how we can set different border color to the line edit part of the combo box when mouse hover over the line edit part, 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. Note :
2 min read
PyQt5 - Different border width to lineedit part on mouse hover (for non editable Combo box)
In this article we will see how we can set different border width to the line edit part of the combo box when mouse hover over the line edit part, 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. In orde
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 is in off state 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 in off state 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 in off state 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 - Background image to lineedit part of non-editable ComboBox when mouse hover
In this article we will see how we can set background image 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 is used to see the selected text and edit the text. In order to set and get the line edit object of the combo box we use setLineEdit and lineEdit method.Note : When we add
2 min read
PyQt5 - Set skin to lineedit part of non-editable combobox when mouse hover
In this article we will see how we can set skin to the line edit part of the non-editable combo box when mouse hover over it. Line edit is the part which is used to enter and view the item. Skin is basically background image which adjust itself according to the size of line edit. Note : When we add line edit object to the combo box it will make com
2 min read