移動先: 概要 戻り値 フラグ Python の例

概要

progressWindow([endProgress=boolean], [isCancelled=boolean], [isInterruptable=boolean], [maxValue=int], [minValue=int], [progress=int], [status=string], [step=int], [title=string])

注意: オブジェクト名や引数を表す文字列はカンマで区切ります。これは概要には示されていません。

progressWindow は「元に戻す」が可能、「照会」が可能、「編集」が可能です。

progressWindow コマンドは、ステータス メッセージ、グラフィックのプログレス ゲージ、オプションで操作を中断する場合の「キャンセルするには Esc キーを押してください」というメッセージを含むウィンドウを作成します。

一度に表示できるプログレス ウィンドウは、1 つだけです。ウィンドウが可視の間は、ビジー カーソルが表示されます。

戻り値

booleanウィンドウの作成に成功した場合 true を返し、ウィンドウが作成できなかった場合(考えられる理由として、すでに 1 つ表示されていた場合など)false を返します。

戻り値の型は照会モードでは照会フラグが基になります。

フラグ

endProgress, isCancelled, isInterruptable, maxValue, minValue, progress, status, step, title
ロング ネーム(ショート ネーム) 引数型 プロパティ
isCancelled(ic) boolean query
操作を解除しようとした場合、true を返します。 その他の場合、false を返します。
progress(pr) int createqueryedit
コントロールに現在表示される進捗状況です。 値は常に最小値と最大値の間になり、デフォルト値はコントロールが作成された時点の最小値です。
step(s) int edit
指定した量の単位で -pr/progress の値を増分します。
minValue(min) int createqueryedit
プログレス インジケータの最小値または「開始」値です。 プログレス値が -min/minValue より小さい場合、プログレス値は最小に設定されます。 デフォルト値は 0 で、
maxValue(max) int createqueryedit
プログレス インジケータの最大値または「終了」値です。 プログレス値が -max/maxValue より大きい場合、プログレス値は最大に設定されます。 デフォルト値は 100 です。
title(t) string createqueryedit
ウィンドウのタイトルです。
status(st) string createqueryedit
プログレス ゲージの上に表示される、状況に関するテキストです。
isInterruptable(ii) boolean createqueryedit
操作をキャンセルしようとすると、プログレス ウィンドウが反応する場合には、true を返します。true に設定すると、キャンセル ボタンが無効になります。
endProgress(ep) boolean create
プログレス ウィンドウを終了します。他のフラグは併用できません。これは通常、-ic/isCancelled フラグが設定された場合、もしくはプログレス値が最大値になった場合に、MEL を通じて発行されます。

: コマンドの作成モードで使用可能なフラグ : コマンドの編集モードで使用可能なフラグ
: コマンドの照会モードで使用可能なフラグ : タプルまたはリストとして渡された複数の引数を持てるフラグ

Python の例

import maya.cmds as cmds

# +-+------------------+
# |-|  Doing Nothing   |
# +--------------------+
# | Sleeping: 40%      |
# |                    |
# | +----------------+ |
# | |||||||          | |
# | +----------------+ |
# |                    |
# | Hit ESC to Cancel  |
# +--------------------+

# Always use the progress dialog from a script, never directly
# from the Script Editor.

amount = 0

cmds.progressWindow(	title='Doing Nothing',
					progress=amount,
					status='Sleeping: 0%',
					isInterruptable=True )
while True :
	# Check if the dialog has been cancelled
	if cmds.progressWindow( query=True, isCancelled=True ) :
		break

	# Check if end condition has been reached
	if cmds.progressWindow( query=True, progress=True ) >= 100 :
		break

	amount += 5

	cmds.progressWindow( edit=True, progress=amount, status=('Sleeping: ' + `amount` + '%' ) )

	cmds.pause( seconds=1 )

cmds.progressWindow(endProgress=1)