いわて駐在研究日誌

OpenCAE、電子工作、R/C等、徒然なるままに

PyQt on Windows 7

久しぶりに記事記入
Windows上でGUIアプリを作りたいということで、Qtをちょこちょこいじってたが、
海の向こうではCFD関係にpythonが良く使われているらしく、pythonGUIができないかやってみる。

[環境]
Windows 7 Prof. x86_64

[準備]
ソフトウェア(2011.6.11時点のバージョン)のダウンロード、インストール(以下の順、すべてdefault install)
1.python-3.2.msi (32bit:http://www.python.jp/Zope/download/pythoncore)
2.Qt_SDK_Win_offline_v1_1_1_en.exe (QtSDK 1.1.1, 1.5GBもある!:http://qt.nokia.com/downloads)
% online版でも良いが、今の職場はproxyが通らずインストールが進まない :-)
3.PyQt-Py3.2-x86-gpl-4.8.4-1.exe (32bit pythonのバージョンに合わせること:http://www.riverbankcomputing.co.uk/software/pyqt/download)
% 同じサイトのSIPは、PyQtをソースからビルドするのに必要らしいので、バイナリでインストールするなら不要っぽい。

[設定]
cmd.exeからpythonを実行できるよう、環境変数PATHに以下を追記しておく。
環境変数は、コンピュータ>プロパティ>システムの詳細設定から行う。
コマンドラインからpythonと打ってpythonが起動したらOK。

"C:\Python32; C:\Python32\Tools\Scripts"(←インストールしたバージョンに合わせる)

[テスト]
お約束のHello world。ファイルの文字コードは、UTF8で保存すること。

#
#  HelloWorld.py (UTF8)
#
import sys
from PyQt4.QtCore import *
from PyQt4.QtGui  import *

app = QApplication(sys.argv)	#Qtアプリケーションオブジェクトを作る
				#このオブジェクトハンドルはマウスや
				#キーボードのイベントを取得する大本になる

win = QLabel("Hello world")     # ラベルを作成してwindowウィジェットに設定

win.show()                      # windowを示す
sys.exit( app.exec_() )         # exitボタンが押されるまで表示

追記:
pythonスクリプトをexeファイル化するにはpy2exeというのを使っていたようだが、python3系には対応していないので、
cX_Freeze (http://sourceforge.net/projects/cx-freeze/files/4.2.3/) というを使ってみる。