def updateWidget(self): self.widget.clear() self.items = [] it = self.collection.get() for i, item in enumerate(it): el = QtWidgets.QListWidgetItem() el.setText(item[self.foreign_label_name]) el.key = item[self.foreign_key_name] # attach an extra attribute self.widget.addItem(el) self.items.append(el)
def __init__(self, typenames, title="", parent=None): super().__init__(parent) self.setWindowTitle(title) self.layout = QtWidgets.QVBoxLayout(self) self.qlis = QtWidgets.QListWidget(self) self.create = QtWidgets.QPushButton("Create", self) self.cancel = QtWidgets.QPushButton("Cancel", self) self.layout.addWidget(self.qlis) self.layout.addWidget(self.create) self.layout.addWidget(self.cancel) for typename in typenames: item = QtWidgets.QListWidgetItem() item.setText(typename) item.typename = typename self.qlis.addItem(item) self.create.clicked.connect(lambda: self.done(1)) self.cancel.clicked.connect(lambda: self.reject()) self.clear()
def createItem(self): """Overwrite in child classes to create custom items (say, sortable items, etc.) """ return QtWidgets.QListWidgetItem()