いくつかの項目中から 1 つだけ選びたい場合はラジオボタンを使用します。
ラジオボタンによって 2 種類のプリミティブ、NURBS の球体・キューブのうちのどちらかを作る GUI を作ってみましょう。
今回はラジオボタンに radioButton1 などの適当な名前をつけてゆく方法で作成してみます。
global proc makePrimitive1()
{
global string $radioCollection1;
string $selected;
$selected = `radioCollection -q -select $radioCollection1`;
if($selected == "radioButton1")
{
sphere;
}
else if($selected == "radioButton2")
{
nurbsCube;
}
}
string $windowName = `window -title "radioButton1"`;
columnLayout;
text -label "make Primitive";
string $radioCollection1 = `radioCollection`;
radioButton -label "Sphere" -select radioButton1;
radioButton -label "Cube" radioButton2;
button -label "OK" -command "makePrimitive1()";
button -label "Close" -command ("deleteUI " + $windowName);
showWindow;
import maya.cmds
def makePrimitive1():
selected = maya.cmds.radioCollection(radioCollection1, q=True, select=True)
if selected == 'radioButton1':
maya.cmds.sphere()
elif selected == 'radioButton2':
maya.cmds.nurbsCube()
windowName = maya.cmds.window(title='radioButton1')
maya.cmds.columnLayout()
maya.cmds.text(label=u'プリミティブ作成')
radioCollection1 = maya.cmds.radioCollection()
maya.cmds.radioButton('radioButton1', label=u'球体', select=True)
maya.cmds.radioButton('radioButton2', label=u'立方体')
maya.cmds.button(label=u'作成', command='makePrimitive1()')
maya.cmds.button(label=u'閉じる', command=('maya.cmds.deleteUI("' + windowName + '")'))
maya.cmds.showWindow()
import maya.cmds
def makePrimitive1():
selected = radioCollection(radioCollection1, q=True, select=True)
if selected == 'radioButton1':
maya.cmds.sphere()
elif selected == 'radioButton2':
maya.cmds.nurbsCube()
windowName = maya.cmds.window(title='radioButton1')
maya.cmds.columnLayout()CODE>
- 部品を縦 1 列に並べるレイアウト関数です。
maya.cmds.text(label=u'プリミティブ作成')
- "プリミティブ作成" というテキストを表示します。
radioCollection1 = maya.cmds.radioCollection()
- ラジオコレクションを作り、その名前を radioCollection1 という変数に代入します。
これ以降に作られたラジオボタンがひとつのグループになり、
次のラジオコレクションが作られるまでか、
または現在のレイアウトが終るまでがひとつのグループになります。
maya.cmds.radioButton('radioButton1', label=u'球体', select=True)
- ラジオボタンを作り、そのラジオボタンの名前を radioButton1 にします。
select=True フラグがついていると最初にこのボタンが選ばれた状態で表示されます。
maya.cmds.radioButton('radioButton2', label=u'立方体')
- ラジオボタンを作り、そのラジオボタンの名前を radioButton2 にします。
maya.cmds.button(label=u'作成', command='makePrimitive1()')
- 作成 ボタンを作ります。
ボタンを押すと makePrimitive1() が実行されます。
maya.cmds.button(label=u'閉じる', command=('maya.cmds.deleteUI("' + windowName + '")'))
- 閉じる ボタンを作ります。
ボタンを押すと、deleteUI 関数によって、
windowName に入っている名前のウインドウ(自分自身)が消去されます。
maya.cmds.showWindow()
- ウインドウを表示します。