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)
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)