移動先: 概要 戻り値 フラグ Python の例
connectControl(
string attribute...
, [fileName=boolean], [index=uint], [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, preventOverride
ロング ネーム(ショート ネーム) |
引数型 |
プロパティ |
index(index)
|
uint
|
|
|
このフラグで、多数の異なるコントロールを含むグループから、サブコントロールを見つけることができます。
たとえば、floatFieldGrp の 1 つのフィールドをコネクトすることができます。この場合、存在する可能性のあるテキスト ラベルを含む、グループのひとつひとつのメンバーを数に入れなければなりません。たとえば、ラベルの付いたチェック ボックスのグループがあるとすると、そのラベルはインデックス 1、そして最初のチェック ボックスはインデックス 2 と数えられます(インデックスは 1 ベースです)。
|
|
fileName(fi)
|
boolean
|
|
|
このフラグによって、コネクションはファイル名として扱われ、内部から外部へのファイル名表示の変換は、データがコピーされる際に行われます。これは Tfield コントロールへのコネクションのみにあてはまります。
|
|
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' )