いくつかの項目中から 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 pymel.core
def makePrimitive1():
selected = pymel.core.radioCollection(radioCollection1, q=True, select=True)
if selected == 'radioButton1':
pymel.core.sphere()
elif selected == 'radioButton2':
pymel.core.nurbsCube()
windowName = pymel.core.window(title='radioButton1')
pymel.core.columnLayout()
pymel.core.text(label=u'プリミティブ作成')
radioCollection1 = pymel.core.radioCollection()
pymel.core.radioButton('radioButton1', label=u'球体', select=True)
pymel.core.radioButton('radioButton2', label=u'立方体')
pymel.core.button(label=u'作成', command='makePrimitive1()')
pymel.core.button(label=u'閉じる', command=('pymel.core.deleteUI("' + windowName + '")'))
pymel.core.showWindow()
import pymel.core
def makePrimitive1():
selected = radioCollection(radioCollection1, q=True, select=True)
if selected == 'radioButton1':
pymel.core.sphere()
elif selected == 'radioButton2':
pymel.core.nurbsCube()
windowName = pymel.core.window(title='radioButton1')
pymel.core.columnLayout()
pymel.core.text(label=u'プリミティブ作成')
radioCollection1 = pymel.core.radioCollection()
pymel.core.radioButton('radioButton1', label=u'球体', select=True)
pymel.core.radioButton('radioButton2', label=u'立方体')
pymel.core.button(label=u'作成', command='makePrimitive1()')
pymel.core.button(label=u'閉じる', command=('pymel.core.deleteUI("' + windowName + '")'))
pymel.core.showWindow()