昔DOS画面でたまに見かけた記号の組み合わせでくるくる回って見えるやつ、
プログレスバーのステータス部分に出したいなと思いまして。
import pymel.core as pm kuru2 = "-/|\\" amount = 0 status = ' loading... %s ' % kuru2[0] pm.progressWindow(title='KuruKuru ProgBar', progress=amount, status=status, isInterruptable=True) while True : if pm.progressWindow(query=True, progress=True) >= 100: break if pm.progressWindow(query=True, isCancelled=True): break for n in range(0, 20): print n amount += 1 status = ' loading... %s ' % kuru2[amount % len(kuru2)] pm.progressWindow(edit=True, progress=amount, status=status) pm.progressWindow(endProgress=True)
■まず、回すのに必要な「-」「/」「|」「\」を用意します
プログレスバーのパーセンテージ用に変数amountも用意
kuru2 = "-/|\\" amount = 0
■ステータス欄用の文字列に↑の1文字目をとりあえず入れます
※妙な余白がありますが、mayaがQtUIになってから見切れるようになったのでそれの対策です
status = ' loading... %s ' % kuru2[0]
■プログレスバーを作ります
pm.progressWindow(title='KuruKuru ProgBar', progress=amount, status=status, isInterruptable=True)
■amountが100になるか、Escキーでキャンセルされるまで繰り返します
while True : if pm.progressWindow(query=True, progress=True) >= 100: break if pm.progressWindow(query=True, isCancelled=True): break
■ここには実際の処理を入れます
とりあえず適当にプリント文を20回ほど回します
for n in range(0, 20): print n
■amountを1増やし、ステータス欄の回す文字を次のやつに差し替えます
%は割った余りを求める演算子なので文字総数で割ると、1コずつ進んで0に戻るを繰り返してくれます
こんな感じ
:
amount: 8 → 8 / 4 = 2 あまり 0
amount: 9 → 9 / 4 = 2 あまり 1
amount:10 → 10 / 4 = 2 あまり 2
amount:11 → 11 / 4 = 2 あまり 3
amount:12 → 12 / 4 = 3 あまり 0
amount:13 → 13 / 4 = 3 あまり 1
amount:14 → 14 / 4 = 3 あまり 2
:
amount += 1 status = ' loading... %s ' % kuru2[amount % len(kuru2)] pm.progressWindow(edit=True, progress=amount, status=status)
■amountが100に達してwhileループを抜けたらプログレスバーを終了します
pm.progressWindow(endProgress=True)
…と、超簡単ですが知ってる人がみたらニヤリとしそうなスクリプト紹介でした。
通りすがりですが、なつかしいネタにちょっと感動してしまいました。笑
返信削除>よしむさん
削除コメントありがとうございます!
分かる人がいてくれて嬉しいですw