formLayout

リーフ数 2
1

UI 系

2

MayaでのGUI
formLayout
https://blog.goo.ne.jp/m4g/e/893f53bfddf7f0801b2a19ae73f9a33b

import maya.cmds as cmds
from functools import partial

def Cmd1( *args):
    print(args)

if cmds.window(win, exists=True):
    cmds.deleteUI(win, window=True)
    

win = cmds.window('test_Window', title='TEST WINDOW',widthHeight=(600,350))
mainForm = cmds.formLayout( numberOfDivisions=100 )

b1 = cmds.button( label='Command 1', height=26, command=partial(Cmd1, 'A', 'B', 'C') )
b2 = cmds.button( label='Command 2', height=26, command=partial(Cmd1, 'D', 'E', 'F') )
b3 = cmds.button( label='Command 3', height=26, command=partial(Cmd1, 'G', 'H', 'I') )

cmds.formLayout(
            mainForm, edit=True, \
            #フォームの境界にボタンのどのエッジを固定するかの指定。オフセット値を5としている。
            attachForm = ( [ b1, 'left', 5 ], \
                           [ b1, 'bottom', 5 ], \
                           [ b2, 'bottom', 5 ], \
                           [ b3, 'bottom', 5 ], \
                           [ b3, 'right', 5 ]), \
            #ボタンをフォームのどの位置に固定するかの指定。b1の右辺を33%の位置に、b3の左辺を67%の位置に。
            attachPosition = ( [ b1, 'right' , 0, 33], \
                               [ b3, 'left' , 0, 67] ), \
            #真ん中のボタンb2が左右のボタンの隣接する辺に固定ための設定。
            attachControl = ( [ b2, 'left', 4,  b1 ], \
                              [ b2, 'right', 4, b3 ] ),\
            #すべてのボタンの上辺は固定しない。
            attachNone = ( [ b1, 'top' ], [ b2, 'top' ], [ b3, 'top' ] )
            )

cmds.showWindow(win)