Exemplo n.º 1
0
    def __init__(self, label, value=0, first=True):
        super(SliderBox, self).__init__(label, first)

        self.spinBox = QtWidgets.QSpinBox()
        self.spinBox.setButtonSymbols(QtWidgets.QAbstractSpinBox.NoButtons)
        self.spinBox.setValue(value)

        self.slider = QtWidgets.QSlider()
        self.slider.setOrientation(QtCore.Qt.Horizontal)
        self.slider.setValue(value)

        self.slider.valueChanged.connect(self.spinBox.setValue)

        self.layout.addWidget(self.spinBox)
        self.layout.addWidget(self.slider)
Exemplo n.º 2
0
    def __init__(self, paneTab):
        """Define all the elements of the user interface."""
        QtWidgets.QWidget.__init__(self)
        self.setMouseTracking(True)
        self.factor = 100
        self.mouseX = 0
        self.mouseY = 0
        hou.playbar.addEventCallback(self.outputPlaybarEvent)

        self.icons_path = hou.findDirectory(
            'python_panels') + '/InBetween_icons/'

        self.nameLabel = QtWidgets.QLabel(self)
        self.nameLabel.setText('inBetween 1.0')
        self.nameLabel.setAlignment(QtCore.Qt.AlignCenter)
        self.nameLabel.mousePressEvent = self.help
        self.nameLabelLayout = QtWidgets.QHBoxLayout()
        self.nameLabelLayout.addWidget(self.nameLabel)

        self.valueSlider = QtWidgets.QSlider(QtCore.Qt.Horizontal, self)
        self.valueSlider.setTickPosition(QtWidgets.QSlider.TicksBelow)
        self.valueSlider.setTickInterval(1)
        self.valueSlider.setValue(0)
        self.valueSlider.setStyleSheet("QSlider:handle {width: 14px;}")
        self.valueSlider.setMinimum(-100)
        self.valueSlider.setMaximum(100)
        self.valueSlider.setSingleStep(1)
        self.valueSlider.setToolTip(
            'Creates a breakdown pose for the selected objects.')

        invisible_btn_stylesheet = "QPushButton {border: transparent;background: transparent;height: 48px;width: 120px;} QPushButton:hover {background-color: rgb(0,0,0, 0);height: 48px;width: 120px;}"

        self.sizePolicy = QtWidgets.QSizePolicy(
            QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Expanding)
        self.sizePolicy.setHeightForWidth(True)

        self.zeroBtn = QtWidgets.QPushButton(self)
        self.zeroBtn.setMaximumHeight(30)
        self.zeroBtn.setSizePolicy(self.sizePolicy)
        self.zeroBtn.clicked.connect(self.zeroBtnAction)
        self.zeroBtn.setStyleSheet(invisible_btn_stylesheet)

        self.minStepBtn = QtWidgets.QPushButton(self)
        self.minStepBtn.setMaximumHeight(30)
        self.minStepBtn.setSizePolicy(self.sizePolicy)
        self.minStepBtn.clicked.connect(self.minStepBtnAction)
        self.minStepBtn.setStyleSheet(invisible_btn_stylesheet)

        self.plusStepBtn = QtWidgets.QPushButton(self)
        self.plusStepBtn.setMaximumHeight(30)
        self.plusStepBtn.setSizePolicy(self.sizePolicy)
        self.plusStepBtn.clicked.connect(self.plusStepBtnAction)
        self.plusStepBtn.setStyleSheet(invisible_btn_stylesheet)

        self.buttonLayout = QtWidgets.QHBoxLayout()
        self.buttonLayout.addWidget(self.minStepBtn, 1)
        self.buttonLayout.addStretch(1)
        self.buttonLayout.addWidget(self.zeroBtn, 1)
        self.buttonLayout.addStretch(1)
        self.buttonLayout.addWidget(self.plusStepBtn, 1)

        self.makeGhostBtn = QtWidgets.QPushButton(self)
        self.makeGhostBtn.setMinimumHeight(30)
        self.makeGhostBtn.setSizePolicy(self.sizePolicy)
        self.makeGhostBtn.setIcon(QtGui.QPixmap(self.icons_path + 'ghost.png'))
        self.makeGhostBtn.clicked.connect(self.manuallyCreateGhost)
        self.makeGhostBtn.setToolTip('Makes a new ghost.')
        self.delGhostBtn = QtWidgets.QPushButton(self)
        self.delGhostBtn.setMinimumHeight(30)
        self.delGhostBtn.setSizePolicy(self.sizePolicy)
        self.delGhostBtn.setIcon(QtGui.QPixmap(self.icons_path +
                                               'deghost.png'))
        self.delGhostBtn.clicked.connect(self.deleteCurrentGhost)
        self.delGhostBtn.setToolTip('Deletes current ghost.')

        self.copyToTwosBtn = QtWidgets.QPushButton(self)
        self.copyToTwosBtn.setMinimumHeight(30)
        self.copyToTwosBtn.setSizePolicy(self.sizePolicy)
        self.copyToTwosBtn.setIcon(
            QtGui.QPixmap(self.icons_path + 'plus_two.png'))
        self.copyToTwosBtn.clicked.connect(self.copyToTwos)
        self.copyToTwosBtn.setToolTip('Copies current pose +2.')
        self.copyToFoursBtn = QtWidgets.QPushButton(self)
        self.copyToFoursBtn.setMinimumHeight(30)
        self.copyToFoursBtn.setSizePolicy(self.sizePolicy)
        self.copyToFoursBtn.setIcon(
            QtGui.QPixmap(self.icons_path + 'plus_four.png'))
        self.copyToFoursBtn.clicked.connect(self.copyToFours)
        self.copyToFoursBtn.setToolTip('Copies current pose +4.')

        self.ghostLabel = QtWidgets.QLabel(self)
        self.ghostLabel.setText('Ghosting')
        self.ghostLabel.setAlignment(QtCore.Qt.AlignCenter)
        self.copyLabel = QtWidgets.QLabel(self)
        self.copyLabel.setText('Copy Pose')
        self.copyLabel.setAlignment(QtCore.Qt.AlignCenter)

        self.copyLabelLayout = QtWidgets.QHBoxLayout()
        self.copyLabelLayout.addWidget(self.ghostLabel)
        self.copyLabelLayout.addWidget(self.copyLabel)
        self.copyLabelLayout.setSpacing(20)

        self.ghostColorLabel = QtWidgets.QLabel(self)
        self.ghostColorLabel.setStyleSheet(
            "QLabel {background-color: #E57200;}")
        self.ghostColorLabel.setMinimumHeight(30)
        self.ghostColorLabel.setSizePolicy(self.sizePolicy)
        self.ghostColorLabel.mousePressEvent = self.colorDialogCall
        self.ghostColorLabel.setToolTip('Sets a color for the current ghost.')

        self.ghostSlider = QtWidgets.QSlider(QtCore.Qt.Horizontal, self)
        self.ghostSlider.setTickPosition(QtWidgets.QSlider.TicksBelow)
        self.ghostSlider.setStyleSheet("QSlider:handle {width: 14px;}")
        self.ghostSlider.setTickInterval(1)
        self.ghostSlider.setValue(0)
        self.ghostSlider.setMinimum(100)
        self.ghostSlider.setMaximum(200)
        self.ghostSlider.setSingleStep(1)
        self.ghostSlider.setSizePolicy(self.sizePolicy)
        self.ghostSlider.setToolTip('Sets a visibility for the current ghost.')

        self.setRefBtn = QtWidgets.QPushButton(self)
        self.setRefBtn.setMinimumHeight(30)
        self.setRefBtn.setSizePolicy(self.sizePolicy)
        self.setRefBtn.setIcon(QtGui.QPixmap(self.icons_path + 'ref.png'))
        self.setRefBtn.clicked.connect(self.addReferencePlane)
        self.setRefBtn.setToolTip('Creates a reference plane.')

        self.selectionSet = QtWidgets.QPushButton(self)
        self.selectionSet.setMinimumHeight(30)
        self.selectionSet.setSizePolicy(self.sizePolicy)
        self.selectionSet.setIcon(
            QtGui.QPixmap(self.icons_path + 'selection.png'))
        self.selectionSet.clicked.connect(self.createNewSelectionSet)
        self.selectionSet.setToolTip('Creates selection set.')

        self.grid_left = QtWidgets.QGridLayout()
        self.grid_left.addWidget(self.delGhostBtn, 0, 0)
        self.grid_left.addWidget(self.makeGhostBtn, 0, 1)
        self.grid_left.addWidget(self.ghostColorLabel, 1, 0)
        self.grid_left.addWidget(self.ghostSlider, 1, 1)
        self.grid_left.setSpacing(8)

        self.grid_right = QtWidgets.QGridLayout()
        self.grid_right.addWidget(self.copyToTwosBtn, 0, 0)
        self.grid_right.addWidget(self.copyToFoursBtn, 0, 1)
        self.grid_right.addWidget(self.setRefBtn, 1, 0)
        self.grid_right.addWidget(self.selectionSet, 1, 1)
        self.grid_right.setSpacing(8)

        self.bottomLayout = QtWidgets.QHBoxLayout()
        self.bottomLayout.addLayout(self.grid_left)
        self.bottomLayout.addLayout(self.grid_right)
        self.bottomLayout.setSpacing(20)

        self.layout = QtWidgets.QVBoxLayout()
        self.layout.addLayout(self.nameLabelLayout)
        self.layout.addLayout(self.buttonLayout)
        self.layout.addWidget(self.valueSlider)
        self.layout.addLayout(self.copyLabelLayout)
        self.layout.addLayout(self.bottomLayout)
        self.layout.setSpacing(8)
        self.valueSlider.valueChanged.connect(self.sliderVal)
        self.valueSlider.sliderMoved.connect(self.repaintValue)
        self.valueSlider.sliderReleased.connect(self.setBetweenKey)
        self.ghostSlider.valueChanged.connect(self.ghostWidth)
        self.setLayout(self.layout)
        self.layout.setContentsMargins(10, 10, 10, 10)