ここでは FormLayout() と、
tabLayout() の使用方法を練習してみましょう。
formLayout() はレイアウトの中で最も自由がきくもので、
ウインドウの上下左右からの絶対位置や、
他の部品からの相対位置によって部品を配置することができます。
tabLayout() はタブを作成することができます。
この関数を実行すると、
それ以降の部品・レイアウトはタブグループになり、 1 つのタブになってゆきます。
まず、FormLayout() によってタブの部分と 閉じる ボタンを配置し、tabLayout() によって A・B ボタンのあるタブと C・D ボタンのあるタブを切替えることができるようにしてみましょう。
string $windowName = `window -title "layout5"`;
string $form = `formLayout`;
string $closeButton = `button -label "閉じる" -command ("deleteUI " + $windowName)`;
formLayout -edit
-attachForm $closeButton "top" 130
-attachForm $closeButton "left" 0
-attachForm $closeButton "bottom" 0
-attachForm $closeButton "right" 0
$form;
string $tabs = `tabLayout -innerMarginWidth 10 -innerMarginHeight 10`;
formLayout -edit
-attachForm $tabs "top" 0
-attachForm $tabs "left" 0
-attachControl $tabs "bottom" 10 $closeButton
-attachForm $tabs "right" 0
$form;
string $tab1 = `columnLayout`;
button -label "A";
button -label "B";
setParent ..;
string $tab2 = `columnLayout`;
button -label "C";
button -label "D";
setParent ..;
tabLayout -edit -tabLabel $tab1 "タブ1" -tabLabel $tab2 "タブ2" $tabs;
showWindow;
import maya.cmds
windowName = maya.cmds.window(title='layout5')
form = maya.cmds.formLayout()
closeButton = maya.cmds.button(label=u'閉じる', command=('maya.cmds.deleteUI("' + windowName + '")'))
maya.cmds.formLayout(form, edit=True,\
attachForm=((closeButton, 'top', 130),\
(closeButton, 'left', 0),\
(closeButton, 'bottom', 0),\
(closeButton, 'right', 0)))
tabs = maya.cmds.tabLayout(innerMarginWidth=10, innerMarginHeight=10)
maya.cmds.formLayout(form, edit=True,\
attachForm=((tabs, 'top', 0),\
(tabs, 'left', 0),\
(tabs, 'right', 0)),\
attachControl=(tabs, 'bottom', 10, closeButton))
tab1 = maya.cmds.columnLayout()
maya.cmds.button(label='A')
maya.cmds.button(label='B')
maya.cmds.setParent('..')
tab2 = maya.cmds.columnLayout()
maya.cmds.button(label='C')
maya.cmds.button(label='D')
maya.cmds.setParent('..')
maya.cmds.tabLayout(tabs, edit=True, tabLabel=((tab1, u'タブ1'), (tab2, u'タブ2')))
maya.cmds.showWindow()
import maya.cmds
windowName = maya.cmds.window(title='layout5')
form = maya.cmds.formLayout()
closeButton = maya.cmds.button(label=u'閉じる', command=('maya.cmds.deleteUI("' + windowName + '")'))
maya.cmds.formLayout(form, edit=True,\
attachForm=((closeButton, 'top', 130),\
(closeButton, 'left', 0),\
(closeButton, 'bottom', 0),\
(closeButton, 'right', 0)))
(closeButton, 'top', 130)
(closeButton, 'left', 0)
(closeButton, 'bottom', 0)
(closeButton, 'right', 0)
tabs = maya.cmds.tabLayout(innerMarginWidth=10, innerMarginHeight=10)
maya.cmds.formLayout(form, edit=True,\
attachForm=((tabs, 'top', 0),\
(tabs, 'left', 0),\
(tabs, 'right', 0)),\
attachControl=(tabs, 'bottom', 10, closeButton))
(tabs, 'top', 0)
(tabs, 'left', 0)
(tabs, 'right', 0)
(tabs, 'bottom', 10, closeButton)
tab1 = maya.cmds.columnLayout()
maya.cmds.button(label='A')
maya.cmds.button(label='B')
maya.cmds.setParent('..')
tab2 = maya.cmds.columnLayout()
maya.cmds.button(label='C')
maya.cmds.button(label='D')
maya.cmds.setParent('..')
maya.cmds.tabLayout(tabs, edit=True, tabLabel=((tab1, u'タブ1'), (tab2, u'タブ2')))
maya.cmds.showWindow()
上の、layout5.py から formLayout の部分だけを抜き出すと、 以下のようなプログラムになります。
import maya.cmds
windowName = maya.cmds.window(title='layout5_1')
form = maya.cmds.formLayout()
closeButton = maya.cmds.button(label=u'閉じる', command=('maya.cmds.deleteUI("' + windowName + '")'))
maya.cmds.formLayout(form, edit=True,\
attachForm=((closeButton, 'top', 130),\
(closeButton, 'left', 0),\
(closeButton, 'bottom', 0),\
(closeButton, 'right', 0)))
maya.cmds.showWindow()
上の、layout5.py から tabLayout の部分だけを抜き出すと、 以下のようなプログラムになります。
import maya.cmds
windowName = maya.cmds.window(title='layout5_2')
tabs = maya.cmds.tabLayout(innerMarginWidth=10, innerMarginHeight=10)
tab1 = maya.cmds.columnLayout()
maya.cmds.button(label='A')
maya.cmds.button(label='B')
maya.cmds.setParent('..')
tab2 = maya.cmds.columnLayout()
maya.cmds.button(label='C')
maya.cmds.button(label='D')
maya.cmds.setParent('..')
maya.cmds.tabLayout(tabs, edit=True, tabLabel=((tab1, u'タブ1'), (tab2, u'タブ2')))
maya.cmds.showWindow()