def __init__( self, parent: Optional[QGraphicsItem] = None, items: Iterable[str] = (), alignment: Union[Qt.AlignmentFlag, Qt.Alignment] = Qt.AlignLeading, orientation: Qt.Orientation = Qt.Vertical, **kwargs: Any ) -> None: sizePolicy = kwargs.pop( "sizePolicy", None) # type: Optional[QSizePolicy] super().__init__(None, **kwargs) self.setFlag(QGraphicsWidget.ItemClipsChildrenToShape, True) self.__items: List[str] = [] self.__textitems: List[QGraphicsSimpleTextItem] = [] self.__group: Optional[QGraphicsItemGroup] = None self.__spacing = 0 self.__alignment = Qt.AlignmentFlag(alignment) self.__orientation = orientation sp = QSizePolicy(QSizePolicy.Preferred, QSizePolicy.Preferred) sp.setWidthForHeight(True) self.setSizePolicy(sp) if items is not None: self.setItems(items) if sizePolicy is not None: self.setSizePolicy(sizePolicy) if parent is not None: self.setParentItem(parent)
def __init__( self, parent: Optional[QGraphicsItem] = None, items: Iterable[str] = (), alignment: Union[Qt.AlignmentFlag, Qt.Alignment] = Qt.AlignLeading, orientation: Qt.Orientation = Qt.Vertical, autoScale=False, elideMode=Qt.ElideNone, **kwargs: Any ) -> None: self.__items: List[str] = [] self.__textitems: List[QGraphicsSimpleTextItem] = [] self.__group: Optional[QGraphicsItemGroup] = None self.__spacing = 0 self.__alignment = Qt.AlignmentFlag(alignment) self.__orientation = orientation self.__autoScale = autoScale # The effective font when autoScale is in effect self.__effectiveFont = QFont() self.__widthCache = {} self.__elideMode = elideMode sizePolicy = kwargs.pop( "sizePolicy", None) # type: Optional[QSizePolicy] super().__init__(None, **kwargs) self.setFlag(QGraphicsWidget.ItemClipsChildrenToShape, True) sp = QSizePolicy(QSizePolicy.Preferred, QSizePolicy.Preferred) sp.setWidthForHeight(True) self.setSizePolicy(sp) if sizePolicy is not None: self.setSizePolicy(sizePolicy) if parent is not None: self.setParentItem(parent) if items is not None: self.setItems(items)