Open In App

PyQt5 QListWidget – Setting Selection Rectangle Visible Property

Last Updated : 14 Jan, 2023
Improve
Improve
Like Article
Like
Save
Share
Report

In this article we will see how we can set the selection rectangle visible property of the QListWidget. QListWidget is a convenience class that provides a list view with a classic item-based interface for adding and removing items. QListWidget uses an internal model to manage each QListWidgetItem in the list. If this property is true then the selection rectangle is visible; otherwise it will be hidden. Note: The selection rectangle will only be visible if the selection mode is in a mode where more than one item can be selected; i.e., it will not draw a selection rectangle if the selection mode is QAbstractItemView.SingleSelection.

In order to do this we will use setSelectionRectVisible method with the list widget object. Syntax : list_widget.setSelectionRectVisible(True) Argument : It takes bool as argument Return : It returns None

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, 500, 400)
 
        # calling method
        self.UiComponents()
 
        # showing all the widgets
        self.show()
 
 
 
    # method for components
    def UiComponents(self):
 
        # creating a QListWidget
        list_widget = QListWidget(self)
 
        # setting geometry to it
        list_widget.setGeometry(50, 70, 150, 60)
 
        # list widget items
        item1 = QListWidgetItem("A")
        item2 = QListWidgetItem("B")
        item3 = QListWidgetItem("C")
 
        # adding items to the list widget
        list_widget.addItem(item1)
        list_widget.addItem(item2)
        list_widget.addItem(item3)
 
        # setting selection mode property
        list_widget.setSelectionMode(QAbstractItemView.MultiSelection)
 
        # making selection rectangle visible
        list_widget.setSelectionRectVisible(True)
 
        # creating a label
        label = QLabel("GeeksforGeeks", self)
 
        # setting geometry to the label
        label.setGeometry(230, 80, 280, 80)
 
        # making label multi line
        label.setWordWrap(True)
 
 
 
# create pyqt5 app
App = QApplication(sys.argv)
 
# create the instance of our Window
window = Window()
 
# start the app
sys.exit(App.exec())


Output :



Like Article
Suggest improvement
Previous
Next
Share your thoughts in the comments

Similar Reads