本文整理匯總了Python中maya.cmds.formLayout方法的典型用法代碼示例。如果您正苦於以下問題:Python cmds.formLayout方法的具體用法?Python cmds.formLayout怎麽用?Python cmds.formLayout使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在類maya.cmds
的用法示例。
在下文中一共展示了cmds.formLayout方法的12個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Python代碼示例。
示例1: ui
# 需要導入模塊: from maya import cmds [as 別名]
# 或者: from maya.cmds import formLayout [as 別名]
def ui():
'''
User interface for ml_tangentWeight
'''
with utl.MlUi('ml_tangentWeight', 'Weight Keyframe Tangents', width=400, height=140,
info='''Increase or decrease tangents length without affecting tangent angle.
Select keyframes and press buttons to weight their tangents.
If no keys are selected, the keys on the current frame will be affected.''') as win:
form = mc.formLayout()
b11 = win.buttonWithPopup(label='-', command=minus, annotation='Scale tangent down.')
b12 = win.buttonWithPopup(label='+', command=plus, annotation='Scale tangent up.')
b21 = win.buttonWithPopup(label='<', command=sharkFinLeft, annotation='Weight tangent toward the left.')
b22 = win.buttonWithPopup(label='>', command=sharkFinRight, annotation='Weight tangent toward the right.')
utl.formLayoutGrid(form, (
(b11,b12),
(b21,b22)
))
示例2: formLayoutGrid
# 需要導入模塊: from maya import cmds [as 別名]
# 或者: from maya.cmds import formLayout [as 別名]
def formLayoutGrid(form, controls, offset=1):
'''
Controls should be a list of lists, and this will arrange them in a grid
'''
kwargs = {'edit':True, 'attachPosition':[]}
rowInc = 100/len(controls)
colInc = 100/len(controls[0])
position = {'left':0,'right':100,'top':0,'bottom':100}
for r,row in enumerate(controls):
position['top'] = r*rowInc
position['bottom'] = (r+1)*rowInc
for c,ctrl in enumerate(row):
position['left'] = c*colInc
position['right'] = (c+1)*colInc
for k in position.keys():
kwargs['attachPosition'].append((ctrl, k, offset, position[k]))
mc.formLayout(form, **kwargs)
示例3: finish
# 需要導入模塊: from maya import cmds [as 別名]
# 或者: from maya.cmds import formLayout [as 別名]
def finish(self):
'''
Finalize the UI
'''
mc.setParent(self.form)
frame = mc.frameLayout(labelVisible=False)
mc.helpLine()
mc.formLayout( self.form, edit=True,
attachForm=((self.column, 'top', 0), (self.column, 'left', 0),
(self.column, 'right', 0), (frame, 'left', 0),
(frame, 'bottom', 0), (frame, 'right', 0)),
attachNone=((self.column, 'bottom'), (frame, 'top')) )
mc.showWindow(self.name)
mc.window(self.name, edit=True, width=self.width, height=self.height)
示例4: ui
# 需要導入模塊: from maya import cmds [as 別名]
# 或者: from maya.cmds import formLayout [as 別名]
def ui():
'''
User interface for ml_lockAndHideAttributes
'''
with utl.MlUi('ml_lockAndHideAttributes', 'Lock and Hide', width=400, height=140, info='''Select channels in the channel box to be locked or hidden.
then hit the appropriate button.''') as win:
form = mc.formLayout()
b11 = win.buttonWithPopup(label='Lock', command=lock, annotation='Lock selected attributes.')
b12 = win.buttonWithPopup(label='Hide', command=hide, annotation='Hide selected attributes.')
b13 = win.buttonWithPopup(label='Lock and Hide', command=lockAndHide, annotation='Lock and hide selected attributes.')
b21 = win.buttonWithPopup(label='Unlock', command=unlock, annotation='Unlock selected attributes.')
b22 = win.buttonWithPopup(label='Unhide', command=unhide, annotation='Unhide all core attributes.')
b23 = win.buttonWithPopup(label='Unlock and Unhide', command=unlockAndUnhide, annotation='Unlock and unhide selected attributes.')
utl.formLayoutGrid(form, (
(b11,b21),
(b12,b22),
(b13,b23)
))
示例5: add_instance_list
# 需要導入模塊: from maya import cmds [as 別名]
# 或者: from maya.cmds import formLayout [as 別名]
def add_instance_list(self, *args):
""" builde the instance list layout """
instanced_geo = node_utils.get_instanced_geo(self._node)
if instanced_geo:
instanced_geo = ['[{}]: {}'.format(i, name) for i, name in enumerate(instanced_geo)]
form = cmds.formLayout()
help_lbl = cmds.text(l='Select item(s) to specify an index',
align='left')
scroll_list = cmds.textScrollList('instanceList', ams=True,
append=instanced_geo)
add_btn = cmds.symbolButton('addInstanceBtn', width=30, i='setEdAddCmd.png',
c=pm.Callback(self.add_instance),
ann='Add Selected Object')
rm_btn = cmds.symbolButton('removeInstanceBtn', width=30,
i='setEdRemoveCmd.png',
c=pm.Callback(self.remove_instance),
ann='Remove Selected Objects')
instancer_btn = cmds.symbolButton('instancerBtn', width=30, i='info.png',
c=pm.Callback(self.select_instancer),
ann='Highlight Instancer')
cmds.formLayout(form, e=True, height=115,
attachForm=[(help_lbl, 'left', 2),
(help_lbl, 'right', 2),
(help_lbl, 'top', 0),
(add_btn, 'right', 2),
(add_btn, 'top', 17),
(rm_btn, 'top', 45),
(rm_btn, 'right', 2),
(instancer_btn, 'right', 2),
(instancer_btn, 'bottom', 2),
(scroll_list, 'right', 35),
(scroll_list, 'top', 17),
(scroll_list, 'left', 2),
(scroll_list, 'bottom', 2)])
示例6: _fill
# 需要導入模塊: from maya import cmds [as 別名]
# 或者: from maya.cmds import formLayout [as 別名]
def _fill(self, ctrl, *sides, **kwargs):
"""
convenience wrapper for tedious formLayout editing
"""
margin = kwargs.get('margin', None)
ct = [ctrl for _ in sides]
mr = [margin for _ in sides]
if margin is None:
mr = [self.margin[_] for _ in sides]
self.attachForm = zip(ct, sides, mr)
示例7: dock
# 需要導入模塊: from maya import cmds [as 別名]
# 或者: from maya.cmds import formLayout [as 別名]
def dock(self, ctrl, top=None, left=None, right=None, bottom=None):
"""
docks ctrl into the form.
for each of the optional flags (top, bottom, left, & right), the arguments are interpreted as follows:
None (default): Ignore this edge
Number (eg 10): dock to form with this margin along this edge
(ctrl2, number): dock to other control 'ctrl2' along this edge, with supplied margin
"""
if not hasattr(top, '__iter__'): top = (None, top)
if not hasattr(bottom, '__iter__'): bottom = (None, bottom)
if not hasattr(left, '__iter__'): left = (None, left)
if not hasattr(right, '__iter__'): right = (None, right)
ac = lambda edge, other, margin: cmds.formLayout(self.widget, e=True, ac=(ctrl, edge, margin, other))
af = lambda edge, ignore, margin: cmds.formLayout(self.widget, e=True, af=(ctrl, edge, margin))
if top[0]:
ac('top', *top)
elif top[1]:
af('top', *top)
if left[0]:
ac('left', *left)
elif left[1]:
af('left', *left)
if bottom[0]:
ac('bottom', *bottom)
elif bottom[1]:
af('bottom', *bottom)
if right[0]:
ac('right', *right)
elif right[1]:
af('right', *right)
示例8: detach
# 需要導入模塊: from maya import cmds [as 別名]
# 或者: from maya.cmds import formLayout [as 別名]
def detach(self, *controls):
"""
call AttachNone on all
"""
sides = ('top', 'bottom', 'left', 'right')
# note the order : it's backwards from the others!
cmds.formLayout(self.widget, an=[(ctl, side) for side, ctl in itertools.product(sides, controls)])
示例9: about
# 需要導入模塊: from maya import cmds [as 別名]
# 或者: from maya.cmds import formLayout [as 別名]
def about():
"""Displays the CMT About dialog."""
name = "cmt_about"
if cmds.window(name, exists=True):
cmds.deleteUI(name, window=True)
if cmds.windowPref(name, exists=True):
cmds.windowPref(name, remove=True)
window = cmds.window(
name, title="About CMT", widthHeight=(600, 500), sizeable=False
)
form = cmds.formLayout(nd=100)
text = cmds.scrollField(editable=False, wordWrap=True, text=cmt.__doc__.strip())
button = cmds.button(
label="Documentation", command="import cmt.menu; cmt.menu.documentation()"
)
margin = 8
cmds.formLayout(
form,
e=True,
attachForm=(
(text, "top", margin),
(text, "right", margin),
(text, "left", margin),
(text, "bottom", 40),
(button, "right", margin),
(button, "left", margin),
(button, "bottom", margin),
),
attachControl=((button, "top", 2, text)),
)
cmds.showWindow(window)
示例10: ui
# 需要導入模塊: from maya import cmds [as 別名]
# 或者: from maya.cmds import formLayout [as 別名]
def ui():
'''
User interface for graph editor mask
'''
with utl.MlUi('ml_graphEditorMask', 'Graph Editor Mask', width=400, height=120, info='''Quickly mask the curves visible in the graph editor.
''') as win:
#check box to cull selection to what's visible.
form = mc.formLayout()
b11 = win.buttonWithPopup(label='Channel Box', command=channelBox, annotation='Isolate curves based on channels highlighted in the channel box')
b12 = win.buttonWithPopup(label='Selected', command=selected, annotation='Isolate the selected curves')
b13 = win.buttonWithPopup(label='All', command=showAll, annotation='Show all animation curves')
b21 = win.buttonWithPopup(label='Translate', command=translate, annotation='Isolate translation curves')
b22 = win.buttonWithPopup(label='Rotate', command=rotate, annotation='Isolate rotation curves')
b23 = win.buttonWithPopup(label='Scale', command=scale, annotation='Isolate scale curves')
b31 = win.buttonWithPopup(label='X', command=x, annotation='Isolate X axis curves')
b32 = win.buttonWithPopup(label='Y', command=y, annotation='Isolate Y axis curves')
b33 = win.buttonWithPopup(label='Z', command=z, annotation='Isolate Z axis curves')
#b41 = win.buttonWithPopup(label='null', command=z, annotation='Isolate Z axis curves')
#b42 = win.buttonWithPopup(label='TRS', command=z, annotation='Isolate Z axis curves')
#b43 = win.buttonWithPopup(label='Custom', command=z, annotation='Isolate Z axis curves')
utl.formLayoutGrid(form, (
(b11,b21,b31),
(b12,b22,b32),
(b13,b23,b33)
))
示例11: buildWindow
# 需要導入模塊: from maya import cmds [as 別名]
# 或者: from maya.cmds import formLayout [as 別名]
def buildWindow(self):
'''
Initialize the UI
'''
if mc.window(self.name, exists=True):
mc.deleteUI(self.name)
mc.window(self.name, title='ml :: '+self.title, iconName=self.title, width=self.width, height=self.height, menuBar=self.menu)
if self.menu:
self.createMenu()
self.form = mc.formLayout()
self.column = mc.columnLayout(adj=True)
mc.rowLayout( numberOfColumns=2, columnWidth2=(34, self.width-34), adjustableColumn=2,
columnAlign2=('right','left'),
columnAttach=[(1, 'both', 0), (2, 'both', 8)] )
#if we can find an icon, use that, otherwise do the text version
if self.icon:
mc.iconTextStaticLabel(style='iconOnly', image1=self.icon)
else:
mc.text(label=' _ _ |\n| | | |')
if not self.menu:
mc.popupMenu(button=1)
mc.menuItem(label='Help', command=(_showHelpCommand(TOOL_URL+self.name+'/')))
mc.text(label=self.info)
mc.setParent('..')
mc.separator(height=8, style='single', horizontal=True)
示例12: showBuildWindow
# 需要導入模塊: from maya import cmds [as 別名]
# 或者: from maya.cmds import formLayout [as 別名]
def showBuildWindow(arg):
labelWidth = 100
fieldWidth = 100
cmds.window(uiWindowName, title = 'SSDS')
cmds.formLayout(uiFormName)
cmds.columnLayout(uiFormLayoutName, rowSpacing = 5)
# joints
cmds.rowLayout(uiNumJointsName[0], numberOfColumns = 2,
columnWidth2 = (labelWidth, fieldWidth),
columnAlign2 = ('right', 'right'))
cmds.text(label = '# Joints')
cmds.intField(uiNumJointsName[1], minValue = 0, maxValue = 100, value = 1, width = fieldWidth)
cmds.setParent('..')
# max influences
cmds.rowLayout(uiMaxInfluenceName[0], numberOfColumns = 2,
columnWidth2 = (labelWidth, fieldWidth),
columnAlign2 = ('right', 'right'))
cmds.text(label = 'Max Influences')
cmds.intField(uiMaxInfluenceName[1], minValue = 1, maxValue = 8, value = 4, width = fieldWidth)
cmds.setParent('..')
# iterations
cmds.rowLayout(uiNumIterationsName[0], numberOfColumns = 2,
columnWidth2 = (labelWidth, fieldWidth),
columnAlign2 = ('right', 'right'))
cmds.text(label = '# Iterations')
cmds.intField(uiNumIterationsName[1], minValue = 0, maxValue = 100, value = 10, width = fieldWidth)
cmds.setParent('..')
# transform type
cmds.rowLayout('SsdsTransformTypeLayout', numberOfColumns = 2,
columnWidth2 = (labelWidth, fieldWidth),
columnAlign2 = ('right', 'right'))
cmds.text(label = 'Transform Type')
cmds.columnLayout('temporary', rowSpacing = 3)
cmds.radioCollection(uiTransformRadioCollectionName)
cmds.radioButton(uiTransformNames[0], label = 'T')
cmds.radioButton(uiTransformNames[1], label = 'R+T')
cmds.radioButton(uiTransformNames[2], label = 'S+R+T')
cmds.radioCollection(uiTransformRadioCollectionName, edit = True, select = uiTransformNames[2])
cmds.setParent(uiFormLayoutName)
# concentrate
cmds.rowLayout(uiConcentrateName[0], numberOfColumns = 2,
columnWidth2 = (labelWidth, fieldWidth),
columnAlign2 = ('right', 'right'))
cmds.text(label = 'Concentrate')
cmds.floatField(uiConcentrateName[1], minValue = 0, maxValue = 100, value = 0.0, precision = 3, width = fieldWidth)
cmds.setParent('..')
# build
cmds.button(uiBuildButtonName, label='Build', command = invokeBuild, width = labelWidth + fieldWidth)
cmds.formLayout(uiFormName, edit = True,
attachForm = [(uiFormLayoutName, 'top', 5),
(uiFormLayoutName, 'left', 5),
(uiFormLayoutName, 'right', 5)])
cmds.showWindow(uiWindowName)