« C4D Python R12 テスト:子オブジェクトを乱数を使って5割の確立で選択するよ。 | トップページ | C4D Python R12 テスト:オブジェクトをスプライン等に配置する。 »

C4D Python R12 テスト:シンプルな入力ダイアログを使ってみる。

スクリプトで数値や文字の入力が必要なんだけど、とりあえず1個だけ…という時に簡単なダイアログ。

メッセージダイアログは、以前に取り上げました。
http://villager-and-c4d.cocolog-nifty.com/blog/2011/03/c4d-python-r1-6.html

Python
'''
シンプルな入力ダイアログ(テキスト)
'''


import c4d
from c4d import gui


def main():
    text = gui.InputDialog('Title', 'data')
    print text, type(text)


if __name__=='__main__':
    main()
data <type 'str'>

実行して、そのまま「OK」ボタンを押しました。

Inputdialog_01

gui.InputDialog(text[, preset])

duiモジュールのInputDialog()関数の最初のパラメータは、ダイアログのタイトル。2番目のパラメータは初期値で省略可。
返り値は、文字列。

テキストではなく、数値の場合は…

Python
'''
シンプルな入力ダイアログ(数値)
'''


import c4d
from c4d import gui


def main():
    value = 0.5

    text = gui.InputDialog('Title', value)
    print 'test', text, type(text)

    value_2 = float(text)
    print 'value_2', value_2, type(value_2)


if __name__=='__main__':
    main()
text 0.5 <type 'str'>
value_2 0.5 <type 'float'>

Inputdialog_02

2番目のパラメータは、文字列に変換しないで数値を直接渡しても問題ありません。
返り値は、文字列ですが…

数値として扱う場合は、int()/float()等で数値に変換して使用します。
このままでは、数値に変換できない返り値の場合、エラーが起きますので注意してください。

変換前に文字列が数字かどうかチェックするメソッドを使って確認してみてください。

str.isdigit()

文字列は以前に少しやりました…
http://villager-and-c4d.cocolog-nifty.com/blog/2011/06/c4d-python-r1-6.html

|

« C4D Python R12 テスト:子オブジェクトを乱数を使って5割の確立で選択するよ。 | トップページ | C4D Python R12 テスト:オブジェクトをスプライン等に配置する。 »

コメント

コメントを書く



(ウェブ上には掲載しません)




« C4D Python R12 テスト:子オブジェクトを乱数を使って5割の確立で選択するよ。 | トップページ | C4D Python R12 テスト:オブジェクトをスプライン等に配置する。 »