1234567891011121314151617181920212223242526272829303132 |
- from qtpy.QtCore import Qt
- from qtpy import QtWidgets
- from .escapable_qlist_widget import EscapableQListWidget
- class UniqueLabelQListWidget(EscapableQListWidget):
- def findItemsByLabel(self, label):
- items = []
- for row in range(self.count()):
- item = self.item(row)
- if item.data(Qt.UserRole) == label:
- items.append(item)
- return items
- def createItemFromLabel(self, label):
- item = QtWidgets.QListWidgetItem()
- item.setData(Qt.UserRole, label)
- return item
- def setItemLabel(self, item, label, color):
- qlabel = QtWidgets.QLabel()
- qlabel.setText(
- '{} <font color="#{:02x}{:02x}{:02x}">●</font>'
- .format(label, *color)
- )
- qlabel.setAlignment(Qt.AlignBottom)
- item.setSizeHint(qlabel.sizeHint())
- self.setItemWidget(item, qlabel)
|