def addItem(self, text, user_data=None, selected=False): if self.mono: return super().addItem(text, user_data) # NOTE: not using user_data list_widget_item = QListWidgetItem(self.mlist) checkbox = QCheckBox(self) checkbox.setText(text) self.mlist.addItem(list_widget_item) self.mlist.setItemWidget(list_widget_item, checkbox) checkbox.stateChanged.connect(self.stateChanged) checkbox.stateChanged.connect( lambda state: self.on_checkbox_stateChanged( checkbox.text(), state)) checkbox.setChecked(selected)