ON-BLOG

CGのこと、あれこれ書いてます。

FormLayoutについて

FormLayout結構使ってるんですが、たまに意図しない配置になったりするので
昔書いた絵をサルベージしました。

って書いてますが正直Help見ればいいですが…
とりあえずその昔(MAYAを本格的に触り始めた10ヶ月前ぐらい)書いた絵を
f:id:tommy_on:20161007003253j:plain


要はアタッチ系がよくわかっていませんでした。
アタッチなので、枠にひっついている。という単純な事だったんですけどね‥

上記の上部ボタンに関しては、
ボタンSIZE = (windowSize[0] -20)/2,height
とすれば、キレイに当分してくれますね。
※windowSizeは(横、縦)のウィンドウサイズの配列で「20」は左右のオフセット5px+ボタンの間(隙間)10Pxの合計値

FormLayoutは私的にすごく重要なのです。
例えば、超簡単セレクタ

import maya.cmds as cmds
def Sel(*args):
    print "selection"
 
window = cmds.window()
form = cmds.formLayout()
JPG = cmds.image(image = 'c:/test.jpg')
b1 = cmds.button(l="R_Hund" , bgc = [1.0,0.5,0.3] , c=Sel)
b2 = cmds.button(l="L_Hund" , bgc = [0.0,0.5,1.0] ,c=Sel)
b3 = cmds.button(l="Head" , bgc = [0.0,1.0,0.2] ,c=Sel)
cmds.formLayout( form, edit=True, 
							attachForm=[(JPG, 'top', 1),(JPG, 'left', 1),(JPG, 'right', 1),(JPG, 'bottom', 1),(b1,'top',140),(b1,'right',10),(b2,'top',140),(b2,'left',5),(b3,'top',20)],
							attachPosition=[(b3,'left',0,45),(b2,'right',30,50),(b1,'left',30,50)] )
cmds.showWindow( window )

こんなやつが出てきます。
f:id:tommy_on:20161007011237p:plain

以前にも書いた気がしますが・・

ようはFormLayoutで配置をするわけなんですが
これをすべてFormでやるとなると、正直結構死ねます。

ってことで、次【時間あれば】、Qtデザイナー使って
セレクター作ってみたいと思います。

以上。