プルダウンメニュー

MayaではプルダウンメニューのことをOptionMenuというらしいです。
わかりにくいです。


■以下ソース


#!/usr/bin/env python
# -*- coding: utf-8 -*-

# -----------------------------
# インポート
# -----------------------------
import maya.cmds as mc
import os


#-------------------------------------
# オプションメニュー変更時コールバック
# 第2引数に変更後のメニューが渡されます
#-------------------------------------
def onOptionMenuChange(item):
print u"好きな大将は"+item

#------------------------------
# メイン関数
#------------------------------
def Main():

windowName = u"OptionMenuTest" # ウィンドウ名
windowTitle = u"OptionMenuTest" # ウィンドウタイトル
windowWidth = 240 # 横幅
windowHeight = 320 # 縦幅

# もしウィンドウが存在するなら作成せずに終了
if mc.window(windowName,query=True,exists=True):
mc.deleteUI(windowName)

# ウィンドウ作成(オプションにサイズをあわせるため)
windowName = mc.window( windowName,title=windowTitle,titleBar=True,resizeToFitChildren=True)

# 何かしらレイアウトを決めなければコントロールが置けない。
mc.columnLayout()

# --------------------------------
# オプションメニュー作成
# --------------------------------
optionName = "OptionMenu"
# mc.optionMenu()を使います。
optionName = mc.optionMenu( optionName, # このコントロールにつける名前
enable=True, # 有効(色がつく)/無効(灰色になる)
label=u"好きな大将は?:", # ラベル名
visible=True, # 可視/不可視
annotation=u"質問です。", # マウスカーソル当てたら表示される注釈
changeCommand=onOptionMenuChange)     # メニューが変更した際のコールバック関数

#-----------------------------------------
# オプションメニューに選択要素を追加します
# ----------------------------------------
mc.menuItem(u"赤犬です。")
mc.menuItem(u"青雉です。")
mc.menuItem(u"黄猿です。")

# 1段上がる(レイアウトから脱出)
mc.setParent("..")

# ウィンドウ表示
mc.showWindow(windowName)

#------------------------------
# エントリーポイント
#------------------------------
if __name__ == '__main__':
Main()

■結果


プルダウンメニューが出来ました。


ラベルにカーソルを当てるとこんな感じで注釈(annotation)がでます。(スクショにカーソル入ってないorz)



■参考サイト
 □Autodesk Maya オンラインヘルプ
  http://me.autodesk.jp/wam/maya/docs/Maya2009/index.html