ジャンプ先: 概要. 戻り値. フラグ. 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, index, preventContextualMenu, preventOverride
ロング ネーム(ショート ネーム) |
引数タイプ |
プロパティ |
|
fileName(fi)
|
boolean
|
|
|
このフラグによって、接続はファイル名として扱われ、内部から外部へのファイル名表示の変換は、データがコピーされる際に行われます。これは Tfield コントロールへの接続のみにあてはまります。
|
|
index(index)
|
uint
|
|
|
このフラグで、多数の異なるコントロールを含むグループから、サブコントロールを見つけることができます。たとえば、floatFieldGrp の 1 つのフィールドを接続することができます。この場合、存在する可能性のあるテキスト ラベルを含む、グループのひとつひとつのメンバーを数に入れなければなりません。たとえば、ラベルの付いたチェック ボックスのグループがあるとすると、そのラベルはインデックス 1、そして最初のチェック ボックスはインデックス 2 と数えられます(インデックスは 1 ベースです)。
|
|
preventContextualMenu(pcm)
|
boolean
|
|
|
true の場合、このフラグは関連付けられたコントロール アトリビュートにおけるマウスの右ボタン メニューをブロックします。
|
|
preventOverride(po)
|
boolean
|
|
|
true の場合、コントロールの右マウス ボタン メニューを使用したコントロール アトリビュートのオーバーライドは無効になります。
|
|
フラグはコマンドの作成モードで表示できます
|
フラグはコマンドの編集モードで表示できます
|
フラグはコマンドの照会モードで表示できます
|
フラグに複数の引数を指定し、タプルまたはリストとして渡すことができます。
|
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' )