次に利用するintegerbox関数では、その名が示すとおりに、数値のみを受け付ける入力ボックスが表示される。この入力値については上限および下限値も指定できるので、ここではPygmynoteにおける使用例として、後記のようなカレンダー表示のスクリプト部で対象月を指定する1〜12の整数値をユーザーに入力させるようにしてみた。
inputmonth=integerbox(msg='"Month (1-12): "', title='Pygmynotes', default='', argLowerBound=1, argUpperBound=12)
EasyGuiには、ディレクトリ選択ダイアログボックスを利用するためのdiropenbox関数も用意されている。Pygmynoteでの使用例としては、ユーザーが記録した全レコードをpygmynote.txtというテキストファイルに書き出すスクリプト部で、この関数が役立つはずだ。オリジナルのコードにおける同ファイルの保存先はスクリプトの格納ディレクトリとされているが、後記のようにdiropenbox関数を組み込むだけで、任意のディレクトリをユーザーが選択可能だ。
elif command=="Save all records as pygmynote.txt":
cursor.execute ("SELECT * FROM notes ORDER BY id ASC")
rows = cursor.fetchall ()
filedir = diropenbox(msg="Select directory", title="Pygmynote", default=None)
filename = filedir + os.sep + "pygmynote.txt"
if os.path.exists(filename):
os.remove(filename)
for row in rows:
file = open(filename, 'a')
file.write("%s\t%s\t[%s]\n" % (row[0], row[1], row[2]))
file.close()
msgbox ("Records have been saved in the pygmynote.txt file.", "Pygmynote", ok_button="Close")
このようにEasyGuiに用意されている機能はあくまで簡易的なものであり、TKinterやwxPythonなどのより本格的なGUIプログラミングを置き換える存在ではないが、Pythonの初心者ユーザーや最小限の手間でスクリプトをユーザーフレンドリ化したいというプログラマーにとっては十分に役立つはずだ。またこれから実際にEasyGuiを試してみるという場合は、利用可能なすべての関数を解説した「EasyGui Tutorial」ページが参考になるだろう。
Dmitri Popovは、フリーランスのライターとして、ロシア、イギリス、米国、ドイツ、デンマークのコンピュータ雑誌に寄稿している。
Copyright © 2010 OSDN Corporation, All Rights Reserved.