PyQt5 – Setting role to item in ComboBox

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 librariesfromPyQt5.QtWidgets import*fromPyQt5 importQtCore, QtGuifromPyQt5.QtGui import*fromPyQt5.QtCore import*importsysclassWindow(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    defUiComponents(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 appApp =QApplication(sys.argv)# create the instance of our Windowwindow =Window()# start the appsys.exit(App.exec()) | 
Output :
 
 
				 
					


