ジャンプ先: 概要. 戻り値. フラグ. Python 例.
rowColumnLayout(
[string]
, [adjustableColumn=int], [annotation=string], [backgroundColor=[float, float, float]], [childArray=boolean], [columnAlign=[int, string]], [columnAttach=[int, string, int]], [columnOffset=[int, string, int]], [columnSpacing=[int, int]], [columnWidth=[int, int]], [defineTemplate=string], [docTag=string], [dragCallback=script], [dropCallback=script], [enable=boolean], [enableBackground=boolean], [enableKeyboardFocus=boolean], [exists=boolean], [fullPathName=boolean], [height=int], [highlightColor=[float, float, float]], [isObscured=boolean], [manage=boolean], [noBackground=boolean], [numberOfChildren=boolean], [numberOfColumns=int], [numberOfPopupMenus=boolean], [numberOfRows=int], [parent=string], [popupMenuArray=boolean], [preventOverride=boolean], [rowAlign=[int, string]], [rowAttach=[int, string, int]], [rowHeight=[int, int]], [rowOffset=[int, string, int]], [rowSpacing=[int, int]], [statusBarMessage=string], [useTemplate=string], [visible=boolean], [visibleChangeCommand=script], [width=int])
注: オブジェクトの名前と引数を表す文字列は、カンマで区切る必要があります。これはシノプシスに示されていません。
rowColumnLayout は、取り消し可能、照会可能、および編集可能です。
このコマンドは rowColumn レイアウトを作成します。1 つの rowColumn レイアウトには、水平一行か垂直一列のいずれかで子レイアウトが複数できます。-nc/numberOfColumns フラグを指定した列のレイアウトには、レイアウト内の各列でテキストの位置合わせ、アタッチメント、オフセットが設定できます。1 つの列のすべてのメンバーに、同じ位置合わせ、アタッチメント、オフセットが適用されます。同様に、-nr/numberOfRows フラグで指定した行フォーマットのレイアウトでは、各行でこのアトリビュートを設定できます。1 つの行のすべてのメンバーに同じアトリビュートが適用されます。レイアウトは、水平一行か垂直一列のいずれかでなければなりません。このレイアウトは両方を同時に使うことができず、子ごとに個別のアトリビュートを指定することもできません。
フラグの一部は、行か列のどちらかでしか意味を持ちません。たとえば -rh/rowHeight フラグは行フォーマットのみで指定できます。列フォーマットでの行の高さは、行内で最も背の高い子とオフセットで決まります。
照会モードでは、戻り値のタイプは照会されたフラグに基づきます。
adjustableColumn, annotation, backgroundColor, childArray, columnAlign, columnAttach, columnOffset, columnSpacing, columnWidth, defineTemplate, docTag, dragCallback, dropCallback, enable, enableBackground, enableKeyboardFocus, exists, fullPathName, height, highlightColor, isObscured, manage, noBackground, numberOfChildren, numberOfColumns, numberOfPopupMenus, numberOfRows, parent, popupMenuArray, preventOverride, rowAlign, rowAttach, rowHeight, rowOffset, rowSpacing, statusBarMessage, useTemplate, visible, visibleChangeCommand, width
| ロング ネーム(ショート ネーム) |
引数タイプ |
プロパティ |
|
adjustableColumn(adj)
|
int
|

|
|
レイアウトのサイズ変更に従ってサイズを変化させるカラムを指定します。
|
|
annotation(ann)
|
string
|
 
|
|
|
backgroundColor(bgc)
|
[float, float, float]
|
 
|
|
コントロールのバックグラウンド カラーです。引数は、赤、緑、青のカラー成分に対応しています。それぞれの成分の値は、0.0~1.0 です。 backgroundColor を設定する場合、enableBackground を false に指定していない限り、バックグラウンドは自動的に有効になります。
|
|
childArray(ca)
|
boolean
|
|
|
|
columnAlign(cal)
|
[int, string]
|
 
|
|
指定したカラムのテキストとピックスマップの位置合わせ。指定できる値は、「left」、「right」、「center」です。カラム フォーマットでのみ有効です。つまり、カラム数は -nc/numberOfColumns フラグで指定されています。
|
|
columnAttach(cat)
|
[int, string, int]
|
 
|
|
指定したカラム内の子のアタッチメントとオフセットです。 第 1 引数は、1 をベースにしたカラム インデックスです。第 2 引数はアタッチメントで、有効な値は、「left」、「right」、「both」です。第 3 引数は 0 より大きくする必要があり、オフセットを指定します。
|
|
columnOffset(co)
|
[int, string, int]
|
 
|
|
指定したカラムのアタッチメントとオフセット。第 1 引数は、1 をベースにしたカラム インデックスです。第 2 引数はアタッチメントで、有効な値は、「left」、「right」、「both」です。第 3 引数は 0 より大きくする必要があり、オフセットを指定します。
|
|
columnSpacing(cs)
|
[int, int]
|
 
|
|
ピクセルで表したカラムの間隔。このフラグは、カラム フォーマットでは、指定したカラムの左側のスペースを指定します。ロー フォーマットでは、すべてのカラム間のスペースを指定しますが、有効なカラム インデックスが必要です。第 1 引数は、1 をベースにしたカラム インデックスです。第 2 引数は 0 より大きくする必要があり、間隔を指定します。
|
|
columnWidth(cw)
|
[int, int]
|
 
|
|
カラムの幅。このフラグはカラム フォーマットでのみ有効です。カラムの幅は 0 より大きくなければなりません。第 1 引数は、1 をベースにしたカラム インデックスです。第 2 引数は 0 より大きくする必要があり、カラムの幅を指定します。
|
|
defineTemplate(dt)
|
string
|
|
|
他の任意のフラグと引数を解析し、かつ引数で指定したコマンド テンプレートに追加するモードに、コマンドのモードを変更します。 templateName が現在のテンプレートとして設定されていれば、その後コマンドが実行されるたびに、この引数が既定の引数として使用されます。
|
|
docTag(dtg)
|
string
|
 
|
|
コントロールにドキュメンテーション フラグを追加します。ドキュメンテーション フラグは、ディレクトリ構造になっています。 (例: -dt render/multiLister/createNode/material)
|
|
dragCallback(dgc)
|
script
|

|
|
中マウス ボタンを押すとコールされるコールバックを追加します。MEL バージョンのコールバックの書式は次のとおりです。
global proc string[] callbackName(string $dragControl, int $x, int $y, int $mods)
proc はドロップ先に転送される文字配列を返します。規則により、配列の先頭文字列はユーザ設定可能なメッセージ タイプを表しています。アプリケーションで定義されたドラッグ元のコントロールは、このコールバックを無視する可能性があります。$mods で、キー モディファイアである CTRL と SHIFT をテストできます。 有効な値は、0 == モディファイアなし、1 == SHIFT、2 == CTRL、3 == CTRL + SHIFT です。
Python でも同様ですが、コールバックの指定方法が 2 つあります。お勧めの方法は、引数として Python 関数オブジェクトを渡すことです。この場合、Python コールバックの書式は次のようになります。
def callbackName( dragControl, x, y, modifiers ):
この引数の値は、上記の MEL バージョンの引数と同じです。
Python でコールバックを指定するもう 1 つの方法では、実行する文字列を指定します。この場合、Python の標準的なフォーマット演算子を介して文字列に値が代入されます。このフォーマットの値は、キー「dragControl」、「x」、「y」、「modifiers」と共に辞書で渡されます。dragControl の値は文字列で、その他の値は整数です(コールバック文字列の例: 「print '%(dragControl)s %(x)d %(y)d %(modifiers)d'」)。
|
|
dropCallback(dpc)
|
script
|

|
|
ドラッグ&ドロップ操作をドロップ位置で解放したときにコールされるコールバックを追加します。MEL バージョンのコールバックの書式は次のとおりです。
global proc callbackName(string $dragControl, string $dropControl, string $msgs[], int $x, int $y, int $type)
proc は、ドラッグ元から転送される文字配列を受け取ります。msgs 配列の先頭文字列はユーザ定義のメッセージ タイプを表します。アプリケーションで定義されたドロップ先のコントロールでは、このコールバックが無視されることがあります。$type の値は、1 == 移動、2 == コピー、3 == リンクのいずれかです。
Python でも同様ですが、コールバックの指定方法が 2 つあります。お勧めの方法は、引数として Python 関数オブジェクトを渡すことです。この場合、Python コールバックの書式は次のようになります。
def pythonDropTest( dragControl, dropControl, messages, x, y, dragType ):
この引数の値は、上記の MEL バージョンの引数と同じです。
Python でコールバックを指定するもう 1 つの方法では、実行する文字列を指定します。この場合、Python の標準的なフォーマット演算子を介して文字列に値が代入されます。このフォーマットの値は、キー「dragControl」、「dropControl」、「messages」、「x」、「y」、「type」と共に辞書で渡されます。dragControl の値は文字列で、その他の値は整数です(コールバック文字列の例: 「print '%(dragControl)s %(dropControl)s %(messages)r %(x)d %(y)d %(type)d'」)。
|
|
enable(en)
|
boolean
|
 
|
|
コントロールの有効、無効です。既定では true に設定されていて、コントロールは有効になっています。false を指定するとコントロールはグレー表示になって無効になります。
|
|
enableBackground(ebg)
|
boolean
|
 
|
|
コントロールのバックグラウンド カラーを有効にします。
|
|
enableKeyboardFocus(ekf)
|
boolean
|
 
|
|
有効にすると、[Tab]キーを押してコントロールに移動し、キーボードで値を選択することができます。有効でない場合は、マウスのみを使用できます。このフラグは通常、編集コントロールやリスト コントロールなどで既定で使用されるコントロールから、キーボード フォーカスのサポートをオフにするために使用されます。
|
|
exists(ex)
|
boolean
|
|
|
指定したオブジェクトが存在するかどうかを返します。他のフラグは無視されます。
|
|
fullPathName(fpn)
|
boolean
|
|
|
すべての親を含むウィジェットのフル パス名を返します。
|
|
height(h)
|
int
|
 
|
|
コントロールの高さです。コントロールは親のレイアウトの条件によって無効にされない限り、このサイズを保持しようとします。
|
|
highlightColor(hlc)
|
[float, float, float]
|
 
|
|
コントロールのハイライト カラーです。引数は、赤、緑、青のカラー成分に対応しています。それぞれの成分の値は、0.0~1.0 です。
|
|
isObscured(io)
|
boolean
|
|
|
コントロールが実際に表示されるかどうかを返します。コントロールは、次の場合に隠れた状態になります。非表示の場合、別のコントロールで(完全に、または部分的に)ブロックされた場合、コントロールまたは親のレイアウトを制御できない場合、あるいはコントロールのウィンドウが非表示またはアイコン化されている場合。
|
|
manage(m)
|
boolean
|
 
|
|
コントロールの状態を管理します。管理されていないコントロールは表示されず、画面の領域も占有しません。既定では、コントロールは管理できるように作成されます。
|
|
noBackground(nbg)
|
boolean
|

|
|
コントロールのバックグラウンドをクリア/リセットします。バックグラウンドは、true を渡すと一切描画されず、false を渡すと描画されます。このフラグの状態は、このコントロールの子に継承されます。
|
|
numberOfChildren(nch)
|
boolean
|
|
|
|
numberOfColumns(nc)
|
int
|

|
|
カラムの数。このフラグは -nr/numRows フラグと互いに排他的な関係にあります。つまり、どちらか一方しか指定できません。
|
|
numberOfPopupMenus(npm)
|
boolean
|
|
|
このコントロールにアタッチされるポップアップ メニューの数を返します。
|
|
numberOfRows(nr)
|
int
|

|
|
ローの数。このフラグは -nc/numColumns フラグと互いに排他的な関係にあります。つまり、どちらか一方しか指定できません。
|
|
parent(p)
|
string
|

|
|
|
popupMenuArray(pma)
|
boolean
|
|
|
このコントロールにアタッチされる全ポップアップ メニューの名前を返します。
|
|
preventOverride(po)
|
boolean
|
 
|
|
true の場合、コントロールの右マウス ボタン メニューを使用したコントロール アトリビュートのオーバーライドは無効になります。
|
|
rowAlign(ral)
|
[int, string]
|
 
|
|
指定したローのテキストとピックスマップの位置合わせ。指定できる値は、「left」、「right」、「center」です。ロー フォーマットでのみ有効です。つまり、ローの数は -nr/numberOfRows フラグで指定されています。
|
|
rowAttach(rat)
|
[int, string, int]
|
 
|
|
指定したロー内の子のアタッチメントとオフセットです。 第 1 引数は、1 をベースにしたロー インデックスです。第 2 引数はアタッチメントで、有効な値は、「top」、「bottom」、「both」です。第 3 引数は 0 より大きくする必要があり、オフセットを指定します。
|
|
rowHeight(rh)
|
[int, int]
|
 
|
|
ローの高さ。このフラグはロー フォーマットでのみ有効です。ローの高さは 0 より大きくなければなりません。第 1 引数は、1 をベースにしたロー インデックスです。第 2 引数は 0 より大きくする必要があり、ローの高さを指定します。
|
|
rowOffset(ro)
|
[int, string, int]
|
 
|
|
指定したローのアタッチメントとオフセット。第 1 引数は、1 をベースにしたロー インデックスです。第 2 引数はアタッチメントで、有効な値は、「top」、「bottom」、「both」です。第 3 引数は 0 より大きくする必要があり、オフセットを指定します。
|
|
rowSpacing(rs)
|
[int, int]
|
 
|
|
ピクセルで表したローの間隔。このフラグは、ロー フォーマットでは、指定したローの上部のスペースを指定します。カラム フォーマットでは、すべてのロー間のスペースを指定しますが、有効なロー インデックスが必要です。第 1 引数は、1 をベースにしたロー インデックスです。第 2 引数は 0 より大きくする必要があり、間隔を指定します。
|
|
statusBarMessage(sbm)
|
string
|

|
|
マウスがコントロール上にある場合にステータス バーに表示する追加の文字列です。
|
|
useTemplate(ut)
|
string
|
|
|
コマンドに、現在のものとは異なるコマンド テンプレートを使用するように強制します。
|
|
visible(vis)
|
boolean
|
 
|
|
コントロールの可視の状態です。既定では、コントロールは表示されます。コントロールの実際の外見も、その親レイアウトの可視の状態によって異なることに注意してください。
|
|
visibleChangeCommand(vcc)
|
script
|
 
|
|
コントロールの可視の状態が変更されたときに実行されるコマンドです。
|
|
width(w)
|
int
|
 
|
|
コントロールの幅を指定します。コントロールは親のレイアウトの条件によって無効にされない限り、このサイズを保持しようとします。
|
|
フラグはコマンドの作成モードで表示できます
|
フラグはコマンドの編集モードで表示できます
|
フラグはコマンドの照会モードで表示できます
|
フラグに複数の引数を指定し、タプルまたはリストとして渡すことができます。
|
import maya.cmds as cmds
# The following script will position the buttons in a single column.
#
# +----+
# | b1 |
# +----+
# +----+
# | b2 |
# +----+
# +----+
# | b3 |
# +----+
#
cmds.window()
cmds.rowColumnLayout( numberOfColumns=1 )
cmds.button()
cmds.button()
cmds.button()
cmds.showWindow()
# The following script will position the buttons in a single row.
#
# +----++----++----+
# | b1 || b2 || b3 |
# +----++----++----+
#
cmds.window()
cmds.rowColumnLayout( numberOfRows=1 )
cmds.button()
cmds.button()
cmds.button()
cmds.showWindow()
# The following script will position the buttons in 3 columns, each
# column a different width.
#
# +----++--------++------------+
# | b1 || b2 || b3 |
# +----++--------++------------+
# +----++--------++------------+
# | b4 || b5 || b6 |
# +----++--------++------------+
# +----+
# | b7 |
# +----+
#
cmds.window()
cmds.rowColumnLayout( numberOfColumns=3, columnWidth=[(1, 60), (2, 80), (3, 100)] )
cmds.button()
cmds.button()
cmds.button()
cmds.button()
cmds.button()
cmds.button()
cmds.button()
cmds.showWindow()
# The following script will position the buttons in 2 rows, each
# row a different height.
#
# +----++----++----++----+
# | b1 || b3 || b5 || b7 |
# +----++----++----++----+
# +----++----++----+
# | || || |
# | b2 || b4 || b6 |
# | || || |
# +----++----++----+
#
cmds.window()
cmds.rowColumnLayout( numberOfRows=2, rowHeight=[(1, 30), (2, 60)] )
cmds.button()
cmds.button()
cmds.button()
cmds.button()
cmds.button()
cmds.button()
cmds.button()
cmds.showWindow()