Maya Python:下拉菜单与按钮对齐

问题描述 投票:0回答:1

我对在 Maya 中使用 python 还比较陌生。我想弄清楚如何将下拉菜单与按钮对齐。我希望下拉菜单和两个按钮彼此对齐。 我得到了什么


def win(myWin):
    if cmds.window(myWin, exists = True):
        cmds.deleteUI(myWin)
    myWin = cmds.window(myWin, rtf = True, width=250, height=180)
    cmds.columnLayout()
    cmds.text(label = 'Create Controllers and Change Colours', font = 'boldLabelFont')
    
    # Controllers
    cmds.separator(height = 20)
    ctrSelectMenu = cmds.optionMenu(label = 'Controller Type')
    cmds.menuItem(label = 'Circle X')
    cmds.menuItem(label = 'Circle Y')
    cmds.menuItem(label = 'Circle Z')
    cmds.menuItem(label = 'Cube'))
    cmds.separator(style = 'none', height = 5)
    cmds.button(label = 'Create', c = lambda x:createControls(ctrSelectMenu), width = 100, align = 'centre')
    
    # Colours
    cmds.separator(style = 'none', height = 20)
    clrSelectMenu = cmds.optionMenu(label = 'Controller Colour')
    
    cmds.menuItem(label = 'Black')
    cmds.menuItem(label = 'Grey')
    cmds.menuItem(label = 'Light Grey')
    cmds.menuItem(label = 'White')
    
    cmds.menuItem(label = 'Maroon')
    cmds.menuItem(label = 'Red')
    cmds.menuItem(label = 'Rust Red')
    
    cmds.menuItem(label = 'Dark Blue')
    cmds.menuItem(label = 'Indigo')
    cmds.menuItem(label = 'Blue')
    cmds.menuItem(label = 'Navy Blue')
    cmds.menuItem(label = 'Sky Blue')
    
    #cmds.separator(style = 'none', height = 5)
    cmds.button(label = 'Apply', c = lambda x:controllerColour(clrSelectMenu),width = 250, align = 'right')
    
    cmds.showWindow(myWin)
    cmds.window(myWin, e=True, width=250, height=180)
    
win('Create Controllers')
python python-2.7 scripting maya
1个回答
0
投票

您需要确保分配了正确的父对象,在这种情况下您可以使用 rowColumnLayout

def win(myWin):
    if cmds.window(myWin, exists = True):
        cmds.deleteUI(myWin)
    myWin = cmds.window(myWin, rtf = True, width=250, height=180)
    baseCol = cmds.columnLayout()
    cmds.text(label = 'Create Controllers and Change Colours', font = 'boldLabelFont')
    
    # Controllers
    cmds.separator(style='in', height = 20, p=baseCol)
    baseRowClo = cmds.rowColumnLayout(nc=3, p=baseCol)
    ctrSelectMenu = cmds.optionMenu(label = 'Controller Type', p=baseRowClo)
    cmds.menuItem(label = 'Circle X')
    cmds.menuItem(label = 'Circle Y')
    cmds.menuItem(label = 'Circle Z')
    cmds.menuItem(label = 'Cube')
    cmds.separator(style = 'none', height = 5)
    cmds.button(label = 'Create', c = lambda x:createControls(ctrSelectMenu), width = 100, align = 'centre', p=baseRowClo)
    # Colours
    cmds.separator(style = 'in', height = 20,  p=baseCol)
    clrSelectMenu = cmds.optionMenu(label = 'Controller Colour', p=baseRowClo)
    
    cmds.menuItem(label = 'Black')
    cmds.menuItem(label = 'Grey')
    cmds.menuItem(label = 'Light Grey')
    cmds.menuItem(label = 'White')
    
    cmds.menuItem(label = 'Maroon')
    cmds.menuItem(label = 'Red')
    cmds.menuItem(label = 'Rust Red')
    
    cmds.menuItem(label = 'Dark Blue')
    cmds.menuItem(label = 'Indigo')
    cmds.menuItem(label = 'Blue')
    cmds.menuItem(label = 'Navy Blue')
    cmds.menuItem(label = 'Sky Blue')
    cmds.separator(style = 'none', height = 5)
    
    cmds.button(label = 'Apply', c = lambda x:controllerColour(clrSelectMenu), align = 'right', p=baseRowClo)
    cmds.showWindow(myWin)
    cmds.window(myWin, e=True, width=250, height=180)
    
win('Create Controllers')
© www.soinside.com 2019 - 2024. All rights reserved.