def __init__(self, title, options, checked, allSelected=True, parent=None): QtGui.QWidget.__init__(self, parent) layout = QtGui.QVBoxLayout(self) self.listItems = QtGui.QListWidget(self) self.listItems.setMaximumHeight(100) for opt in options: item = QtGui.QListWidgetItem(opt) item.setFlags(QtCore.Qt.ItemIsUserCheckable | QtCore.Qt.ItemIsSelectable | QtCore.Qt.ItemIsEnabled) if checked and opt in checked: item.setCheckState(QtCore.Qt.Checked) else: item.setCheckState(QtCore.Qt.Unchecked) self.listItems.addItem(item) self.checkBoxAll = QtGui.QCheckBox("All %s" % title, self) if allSelected: self.listItems.setDisabled(True) self.checkBoxAll.setCheckState(QtCore.Qt.Checked) self.checkBoxAll.stateChanged.connect(self.__allSelectedToggled) layout.addWidget(self.checkBoxAll) layout.addWidget(self.listItems)
def __newItem(self, name): list_item = QtGui.QListWidgetItem(name) list_item.setFlags(QtCore.Qt.ItemIsEditable | QtCore.Qt.ItemIsSelectable | QtCore.Qt.ItemIsEnabled) return list_item