예제 #1
0
파일: action.py 프로젝트: Kuangcp/git-cola
 def __init__(self, parent):
     QtWidgets.QFrame.__init__(self, parent)
     self._direction = self._vertical
     self._layout = layout = QtWidgets.QBoxLayout(self._direction)
     layout.setSpacing(defs.spacing)
     qtutils.set_margin(layout, defs.margin)
     self.setLayout(layout)
     policy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Minimum,
                                    QtWidgets.QSizePolicy.Minimum)
     self.setSizePolicy(policy)
     self.setMinimumSize(QtCore.QSize(10, 10))
     self.aspect_ratio = 0.8
예제 #2
0
def create_group_box(title, *widgets_or_layouts, direction=None):
    if direction is None:
        direction = QtWidgets.QBoxLayout.TopToBottom

    layout = QtWidgets.QBoxLayout(direction)
    layout.setContentsMargins(0, 0, 0, 0)

    for item in widgets_or_layouts:
        if isinstance(item, QtWidgets.QWidget):
            layout.addWidget(item)
        elif isinstance(item, QtWidgets.QLayout):
            layout.addLayout(item)

    box = QtWidgets.QGroupBox(title)
    box.setLayout(layout)

    return box
예제 #3
0
def create_scroll_area(*widgets_or_layouts, direction=None):
    if direction is None:
        direction = QtWidgets.QBoxLayout.TopToBottom

    layout = QtWidgets.QBoxLayout(direction)
    layout.setContentsMargins(0, 0, 0, 0)

    for item in widgets_or_layouts:
        if isinstance(item, QtWidgets.QWidget):
            layout.addWidget(item)
        elif isinstance(item, QtWidgets.QLayout):
            layout.addLayout(item)

    widget = QtWidgets.QWidget()
    widget.setLayout(layout)

    area = QtWidgets.QScrollArea()
    area.setWidgetResizable(True)
    area.setWidget(widget)

    return area
예제 #4
0
    def __init__(self, minimum=0, maximum=99, decimals=0, parent=None):
        super().__init__(parent)

        # Widgets
        self.spinbox = QtWidgets.QDoubleSpinBox()
        self.slider = QtWidgets.QSlider()
        self._min = QtWidgets.QLabel("0")
        self._max = QtWidgets.QLabel("99")
        self._value = 0

        # Check Inputs
        self.setDecimals(decimals)
        self.setRange(minimum, maximum)
        self.setValue(minimum)

        # Create the layout
        self.main_layout = QtWidgets.QBoxLayout(
            QtWidgets.QBoxLayout.LeftToRight)
        self.setLayout(self.main_layout)
        self.setContentsMargins(0, 0, 0, 0)
        self.main_layout.setContentsMargins(0, 0, 0, 0)

        self.main_layout.addWidget(self.spinbox)
        self.main_layout.addWidget(self._min)
        self.main_layout.addWidget(self.slider)
        self.main_layout.addWidget(self._max)

        # Style
        self.setOrientation(QtCore.Qt.Horizontal)
        self.slider.setFocusPolicy(
            QtCore.Qt.NoFocus)  # Keyboard up and down -> spinbox

        # Signals
        self.slider.actionTriggered.connect(self.actionTriggered.emit)
        self.slider.rangeChanged.connect(self.rangeChanged.emit)
        self.slider.sliderMoved.connect(self.sliderMoved.emit)
        self.slider.sliderPressed.connect(self.sliderPressed.emit)
        self.slider.sliderReleased.connect(self.sliderReleased.emit)
        self.slider.valueChanged.connect(self._value_changed)
        self.spinbox.valueChanged.connect(self._value_changed)