Exemple #1
0
            def bottomLeftPanel():
                panel_bottom_left = SidePanel(panel_bottom, q3.direction.LEFT)
                panel_bottom_left.init()

                label = qtw.QLabel("Bottom\nleft", self)
                label.setAlignment(qtc.Qt.AlignCenter)

                panel_bottom_left.setWidgetResizable(True)
                panel_bottom_left.setWidget(label)
Exemple #2
0
            def bottomRightPanel():
                panel_bottom_right = SidePanel(panel_bottom,
                                               q3.direction.RIGHT)
                panel_bottom_right.init()

                label = qtw.QLabel("Bottom\nright", self)
                label.setAlignment(qtc.Qt.AlignCenter)

                panel_bottom_right.setWidgetResizable(True)
                panel_bottom_right.setWidget(label)
Exemple #3
0
        def leftPanel():

            panel_left = SidePanel(self, side=q3.direction.LEFT)
            panel_left.setOpenEasingCurve(qtc.QEasingCurve.Type.OutElastic)
            panel_left.setCloseEasingCurve(qtc.QEasingCurve.Type.InElastic)
            panel_left.init()

            label = qtw.QLabel("Left")
            label.setAlignment(qtc.Qt.AlignCenter)

            panel_left.setWidgetResizable(True)
            panel_left.setWidget(label)
            self._panelLeft = panel_left
Exemple #4
0
        def topPanel():
            panel_top = SidePanel(self, side=q3.direction.TOP)
            panel_top.setPanelSize(150)
            panel_top.init()

            panel_top.setWidgetResizable(True)
            panel_top.setWidget(qtw.QTextEdit("> Pseudo top terminal", self))

            #// Nested panel with animated handler
            def topRightPanel():
                panel_top_right = SidePanel(panel_top, side=q3.direction.RIGHT)

                def getOpenedRect(parent_rect):
                    return h.rect_opened_half_right(
                        panel_top_right.getHandlerSize().width(),
                        parent_rect)  #; // Half size from right

                def initialHandlerSize():
                    return qtc.QSize(60, 60)

                def alignedHandlerRect(panel_geom, handler_size, t):
                    if (t > 0.5):
                        t = 0.5
                    rect = qtc.QRect(
                        0, 0, handler_size.width(),
                        m.scale(t, 0, 0.5,
                                panel_top_right.initialHandlerSize().height(),
                                panel_geom.height()))  #; // Aligned Top Left
                    rect.moveTopRight(panel_geom.topLeft())
                    return rect

                panel_top_right.getOpenedRect = getOpenedRect
                panel_top_right.initialHandlerSize = initialHandlerSize
                panel_top_right.alignedHandlerRect = alignedHandlerRect

                panel_top_right.setOpenEasingCurve(
                    qtc.QEasingCurve.Type.OutBack)
                panel_top_right.setCloseEasingCurve(
                    qtc.QEasingCurve.Type.InBack)
                panel_top_right.setPanelSize(
                    300)  #; // Well ... this is ignored :)

                panel_top_right.init()

                panel_top_right.setWidgetResizable(True)
                panel_top_right.setWidget(
                    qtw.QTextEdit("> Pseudo top-right terminal"))

            topRightPanel()
Exemple #5
0
        def rightPanel():
            panel_right = SidePanel(self, side=q3.direction.RIGHT)
            panel_right.setOpenEasingCurve(qtc.QEasingCurve.Type.OutExpo)
            panel_right.setCloseEasingCurve(qtc.QEasingCurve.Type.InExpo)
            panel_right.setPanelSize(200)
            panel_right.init()

            lay = qtw.QVBoxLayout()
            label = qtw.QLabel("Right", self)
            label.setAlignment(qtc.Qt.AlignCenter)
            lay.addWidget(label)

            #for(int i = 0; i < 20; ++i)
            for i in range(0, 20, 1):
                btn = qtw.QPushButton("Button " + str(i), self)
                btn.setSizePolicy(qtw.QSizePolicy.Expanding,
                                  qtw.QSizePolicy.Expanding)
                btn.setMinimumHeight(60)
                lay.addWidget(btn)

            proxy = qtw.QWidget(self)
            proxy.setLayout(lay)
            #proxy.setFixedWidth(0)

            panel_right.setWidgetResizable(True)
            panel_right.setWidget(proxy)

            #// Extra behavior (for example) - scrolling by gestures. Notice, that
            #// QScroller binded to `panel_right->viewport()`, not to `panel_right`
            qtw.QScroller.grabGesture(
                panel_right.viewport(),
                qtw.QScroller.ScrollerGestureType.LeftMouseButtonGesture)

            scroller = qtw.QScroller.scroller(panel_right.viewport())

            #// Improve buttons pressing. But still not good
            props = scroller.scrollerProperties()
            props.setScrollMetric(
                qtw.QScrollerProperties.ScrollMetric.MousePressEventDelay, 0)
            scroller.setScrollerProperties(props)
            self._panelRight = panel_right
Exemple #6
0
        def bottomPanel():
            panel_bottom = SidePanel(self, side=q3.direction.DOWN)

            panel_bottom.setPanelSize(150)
            panel_bottom.init()

            label = qtw.QLabel("Bottom", self)
            label.setAlignment(qtc.Qt.AlignCenter)

            panel_bottom.setWidgetResizable(True)
            panel_bottom.setWidget(label)

            def bottomLeftPanel():
                panel_bottom_left = SidePanel(panel_bottom, q3.direction.LEFT)
                panel_bottom_left.init()

                label = qtw.QLabel("Bottom\nleft", self)
                label.setAlignment(qtc.Qt.AlignCenter)

                panel_bottom_left.setWidgetResizable(True)
                panel_bottom_left.setWidget(label)

            bottomLeftPanel()

            def bottomRightPanel():
                panel_bottom_right = SidePanel(panel_bottom,
                                               q3.direction.RIGHT)
                panel_bottom_right.init()

                label = qtw.QLabel("Bottom\nright", self)
                label.setAlignment(qtc.Qt.AlignCenter)

                panel_bottom_right.setWidgetResizable(True)
                panel_bottom_right.setWidget(label)

            bottomRightPanel()