def __init__(self, parent): ui.QWidget.__init__(self, parent) # ui self.setParent(parent) self.setWindowFlags(ui.Qt.Window) self.setWindowTitle(WINDOW_TITLE) self.resize(300, 250) # set icon path = ui.findIcon(WINDOW_ICON) if path: self.setWindowIcon(ui.QIcon(path)) # create layout layout = ui.QVBoxLayout(self) layout.setContentsMargins(3, 3, 3, 3) layout.setSpacing(3) # create add widget title = AddInfluenceWidget(self) title.addInfluence.connect(self.addInfluence) layout.addWidget(title) # create scroll scrollArea = ui.QScrollArea(self) scrollArea.setWidgetResizable(True) self.widget = ui.QWidget(self) self.layout = ui.QVBoxLayout(self.widget) scrollArea.setWidget(self.widget) layout.addWidget(scrollArea) # create filler influence self.filler = FillerInfluenceWidget(self) self.layout.addWidget(self.filler) # create spacer spacer = ui.QSpacerItem(1, 1, ui.QSizePolicy.Minimum, ui.QSizePolicy.Expanding) self.layout.addItem(spacer) self.layout.setContentsMargins(3, 3, 3, 3) self.layout.setSpacing(3) # create button button = ui.QPushButton(self) button.setText("Skin") button.setFont(ui.FONT) button.released.connect(self.skin) layout.addWidget(button) # create button self.progressBar = ui.QProgressBar(self) self.progressBar.setVisible(False) layout.addWidget(self.progressBar)
def __init__(self, parent, skinCluster, data): ui.QWidget.__init__(self, parent) #self.setFrameShape(ui.QFrame.StyledPanel) #self.setFrameShadow(ui.QFrame.Sunken) # variables self.widgets = [] # skin cluster data self.normalizeWeights = cmds.getAttr( "{0}.normalizeWeights".format(skinCluster)) self.maxInfluences = cmds.getAttr( "{0}.maxInfluences".format(skinCluster)) self.maintainMaxInfluences = cmds.getAttr( "{0}.maintainMaxInfluences".format(skinCluster)) # create layout layout = ui.QVBoxLayout(self) layout.setContentsMargins(3, 3, 3, 3) layout.setSpacing(3) # create widgets for value, influence in data: widget = VertexInfluenceWidget(self, influence, value) widget.signal.connect(self.calculateWeights) layout.addWidget(widget) self.widgets.append(widget) # set visibility self.displayInfluences(False)
def __init__(self, parent): ui.QWidget.__init__(self, parent) # ui self.setParent(parent) self.setWindowFlags(ui.Qt.Window) self.setWindowTitle(WINDOW_TITLE) self.resize(300, 25) # set icon path = ui.findIcon(WINDOW_ICON) if path: self.setWindowIcon(ui.QIcon(path)) # create layout layout = ui.QVBoxLayout(self) layout.setContentsMargins(3, 3, 3, 3) layout.setSpacing(3) # create tweening self.tweening = TweeningOptions(self) layout.addWidget(self.tweening) # create button apply = ui.QPushButton(self) apply.setFont(ui.FONT) apply.setText("Apply") apply.released.connect(self.apply) layout.addWidget(apply)
def __init__(self, parent): ui.QWidget.__init__(self, parent) # ui self.setParent(parent) self.setWindowFlags(ui.Qt.Window) self.setWindowTitle(WINDOW_TITLE) self.resize(550, 350) # set icon path = ui.findIcon(WINDOW_ICON) if path: self.setWindowIcon(ui.QIcon(path)) # create layout layout = ui.QVBoxLayout(self) layout.setContentsMargins(3, 3, 3, 3) # create scroll scrollArea = ui.QScrollArea(self) scrollArea.setWidgetResizable(True) self.widget = ui.QWidget(self) self.layout = ui.QVBoxLayout(self.widget) scrollArea.setWidget(self.widget) layout.addWidget(scrollArea) # create spacer spacer = ui.QSpacerItem( 1, 1, ui.QSizePolicy.Minimum, ui.QSizePolicy.Expanding ) self.layout.addItem(spacer) self.layout.setContentsMargins(3, 3, 3, 3) self.layout.setSpacing(3) # update self.id_ = None self.registerCallback() self.selectionChanged()
def __init__(self, parent, vertex): ui.QWidget.__init__(self, parent) # variables self.vertex = vertex self.mesh, _ = vertex.split(".", 1) self.skinCluster = utils.getSkinCluster(self.mesh) # get skinned data influences = cmds.skinPercent(self.skinCluster, vertex, query=True, transform=None) values = cmds.skinPercent(self.skinCluster, vertex, query=True, value=True) # order data data = zip(values, influences) data.sort() data.reverse() # create layout layout = ui.QVBoxLayout(self) layout.setContentsMargins(3, 3, 3, 3) layout.setSpacing(3) # create divider ui.addDivider(self, layout) # create label self.label = VertexLabelWidget(self, vertex) layout.addWidget(self.label) # create divider ui.addDivider(self, layout) # create frame self.frame = VertexInfluencesWidget(self, self.skinCluster, data) self.frame.signal.connect(self.setWeights) layout.addWidget(self.frame) # connect influences toggle self.label.signal.connect(self.frame.displayInfluences) self.frame.warningSignal.connect(self.label.displayWarning) # force display self.frame.displayMaxInfluences()