def style() -> str: return PResource.stylesheet()
def __init__(self, parent: QWidget, inner: bool = False): if not inner: super().__init__() self.inner = inner self.__parent__ = parent if self.__parent__ is not None: self.__central_widget__ = None self.__follow__ = False self.HAnchor = Parapluie.HCenter self.VAnchor = Parapluie.VCenter self.__update_distance__ = False self.__const_hDistance__ = False self.__const_vDistance__ = False self.leftDistance = 0 self.rightDistance = 0 self.topDistance = 0 self.bottomDistance = 0 PFunction.applyStyle(self, PResource.stylesheet()) self.setWindowFlags(Qt.FramelessWindowHint) self.setObjectName(Parapluie.Object_StickyWindow) self.title = QLabel("Parapluie") self.title.setStyleSheet("font-size: 14px; font-weight: bold;") self.title.setContentsMargins(8, 0, 8, 0) self.title.setMinimumHeight(self.__title_bar_height__) self.bottom_sizeGrip = QSizeGrip(self) self.bottom_sizeGrip.setObjectName(Parapluie.Object_StickyWindow_ResizeBottom) self.setSizePolicy(QSizePolicy.Fixed, QSizePolicy.Fixed) self.titleBar = QHBoxLayout() self.titleBar.setContentsMargins(0, 0, 0, 0) self.titleBar.addWidget(self.title, alignment=Qt.AlignLeft | Qt.AlignCenter) self.titleBar.addStretch() self.moveWidget = PMoveWidget(self) self.moveWidget.setObjectName(Parapluie.Object_StickyWindow_FunctionButton) self.moveWidget.setLayout(self.titleBar) self.moveWidget.setMaximumHeight(self.__title_bar_height__) self.mainLayout = QVBoxLayout() self.mainLayout.setContentsMargins(self.__window_margin__, self.__window_margin__, self.__window_margin__, self.__window_margin__) self.mainLayout.setSpacing(0) self.mainLayout.addWidget(self.moveWidget, alignment=Qt.AlignTop) self.mainLayout.addWidget(self.bottom_sizeGrip, alignment=Qt.AlignRight) self.setLayout(self.mainLayout) if isinstance(parent, Sticky.PWindow): self.updateDistance() parent.resized.connect(self.followParentRelative) parent.closed.connect(self.close) parent.minimized.connect(self.minimizedFollowParent)