In this article we will see how we can get 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. It can be set with the help of setSelectionRectVisible method. 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 isSelectionRectVisible method with the list widget object. Syntax : list_widget.isSelectionRectVisible() Argument : It takes no argument Return : It returns bool
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 , 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 )
# checking if selection rectangle is visible
value = list_widget.isSelectionRectVisible()
# setting text to the label
label.setText("Selection Rect Visible : " + str (value))
# create pyqt5 app App = QApplication(sys.argv)
# create the instance of our Window window = Window()
# start the app sys.exit(App. exec ())
|
Output :