In this article we will see how we can set the item role in combo box, by default when we create a combo box and add items to it no role is set to the items, in order to set this we will use setItemData method
Syntax : combo_box.setItemData(index, role)
Argument : It takes two argument one is integer i.e index or item and other is the string i.e role of item
Action performed : It will assign role to the item
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 combo box widget
self .combo_box = QComboBox( self )
# setting geometry of combo box
self .combo_box.setGeometry( 200 , 150 , 120 , 30 )
# geek list
geek_list = ["Geek", "Geeky Geek", "Legend Geek", "Ultra Legend Geek"]
# adding list of items to combo box
self .combo_box.addItems(geek_list)
# setting roles to the items
self .combo_box.setItemData( 0 , "First role")
self .combo_box.setItemData( 1 , "Second role")
self .combo_box.setItemData( 2 , "Third role")
self .combo_box.setItemData( 3 , "Fourth role")
# create pyqt5 app App = QApplication(sys.argv)
# create the instance of our Window window = Window()
# start the app sys.exit(App. exec ())
|
Output :