ジャンプ先: 概要. 戻り値. フラグ. Python 例.
connectControl(
string attribute...
, [fileName=boolean], [index=uint], [preventContextualMenu=boolean], [preventOverride=boolean])
注: オブジェクトの名前と引数を表す文字列は、カンマで区切る必要があります。これはシノプシスに示されていません。
connectControl は、取り消し可能、照会不可能、および編集不可能です。
このコマンドは、1 つまたは複数のディペンデンシー ノードのアトリビュートの 1 番目の引数として指定された UI ウィジェットをアタッチします。このアトリビュートまたはノードは最初から存在している必要はなく、必要に応じてルックアップされます。フラグが指定されていない場合、このコマンドは次のようなコントロールに対して有効です。floatField、floatScrollBar、floatSlider、intField、intScrollBar、intSlider、floatFieldGrp、intFieldGrp、checkBox、radioCollection、optionMenu。index フラグと一緒に使用すると、その他のすべてのグループの個々のコンポーネントで機能します。このコマンドは、コントロールと(最初に指定した)アトリビュートの双方向接続を設定します。この最初のアトリビュートが変更された場合、コントロールの値も一致するよう適切に更新されます。
まとめ:コントロールを変更すると、すべての接続したアトリビュートも変更されます。コントロールにアタッチされた最初のアトリビュートを変更すると、そのコントロールは変更されます。
注: connectControl コマンドの発行時にアトリビュートが存在しなければ、双方接続は確立されません。その後、そのコントロールを使用した時点で接続が確立されます。
connectControl を radioCollections と optionMenus と共に効果的に使用するには、radioButton と menuItem ごとに 1 つのデータをアタッチする必要があります。このデータ(整数)は、radioButton コマンドや menuItem コマンドで data フラグを使用してアタッチできますこのボタン/項目が選択されると、アトリビュートはそのデータの値に設定されます。アトリビュートが変更された場合、その集合(あるいは optionMenu)は、新規のアトリビュート値と一致する項目に切り替わります。一致する項目がない場合は、変更されないままとなります。
接続機能(とその他の機能)が組み込まれた特別なコントロールがいくつかあります。attrFieldSliderGrp、attrFieldGrp と attrColorSliderGrp を参照してください。これらのクラスは、connectControl より簡単に使用することができます。
なし
| ロング ネーム(ショート ネーム) | 引数タイプ | プロパティ | ||
|---|---|---|---|---|
fileName(fi)
|
boolean
|
|
||
|
||||
index(index)
|
uint
|
|
||
|
||||
preventContextualMenu(pcm)
|
boolean
|
|
||
|
||||
preventOverride(po)
|
boolean
|
|
||
|
||||
import maya.cmds as cmds sphereNames = cmds.sphere() sphereName = sphereNames[0] window = cmds.window() cmds.columnLayout() cmds.text( l='X Value:' ) cmds.floatField( 'xx' ) cmds.connectControl( 'xx', '%s.tx' % sphereName ) cmds.text( l='Visibility' ) cmds.checkBox( 'vis' ) cmds.connectControl( 'vis', '%s.visibility' % sphereName ) cmds.floatFieldGrp( 'rot', l='Rotation:', numberOfFields=3 ) # index 1 would be the text label cmds.connectControl( 'rot', '%s.rx' % sphereName, index=2 ) cmds.connectControl( 'rot', '%s.ry' % sphereName, index=3 ) cmds.connectControl( 'rot', '%s.rz' % sphereName, index=4 ) cmds.showWindow( window ) # Connecting two attributes to a single control # cmds.window() cmds.columnLayout() cmds.floatSlider( 'slider' ) cmds.showWindow() cmds.polySphere() cmds.polyCube() cmds.move( 0, 2, 0 ) cmds.connectControl( 'slider', 'pCube1.tx', 'pSphere1.tx' )