ネットをふらふら彷徨っていると、PyJUGの活用事例のページで、高エネルギー加速器研究機構さんの紹介が載ってましてですね、そこに、興味深い説明箇所を見つけた訳です。
- 制御システムのGUI
制御システムと操作員とのGUIにも Python/Tkinter(最近はPyGtkも)が使われる。とくにPmw.BLT.Graphは重宝している。
この「とくにPmw.BLT.Graphは重宝している」ってのが、気になったので ぐぐってみた訳です。
Pmw1 posted from フォト蔵
なんですか、こりは?って、ムキになって調べると、色々と面白いネタが出てきたっす。
まず、Pmwは、Python megawidgetsの略みたいです。
- オフィシャルサイト: Pmw megawidgets
http://pmw.sourceforge.net/ - 紹介サイト: A User's Guide to Pmw.Blt
http://heim.ifi.uio.no/~hpl/Pmw.Blt/doc/
どんなものかは、紹介サイトの動画GIFを見たら一目瞭然です。
http://heim.ifi.uio.no/~hpl/Pmw.Blt/doc/images/HelloVideo.gif
何か、ワクワクしてくるでしょ?
Pmwのインストール
ってんで、早速 Pmwをインストールします。
ダウンロードは、オフィシャルページの"Download Pmw.1.2 as tar.gz file (with full documentation)"をダウンロードします。
tarで展開した後、setup.pyを探したら、無い。
あれぇ?と思って、ドキュメントページを英日翻訳させてみたんですね。
…どうやら、展開したファイルをまるごと PythonのLib/site-packagesフォルダの下にコピーしろって事らしいです。
例えば、↓こんな感じ。
D:\hoge\Pmwを、 ↓ C:\Python24\Lib\site-packagesの下に、Pmw丸ごとコピー
デモは、"C:\Python24\Lib\site-packages\Pmw\Pmw_1_2\demos\All.py"を実行して下さい。
ただ、問題が一つ。しかも、致命的。
肝心の"BltGraph"を選ぶとですねぇ。以下のメッセージが出て、実行できないんですよ。
Pmw2 posted from フォト蔵
だめじゃん。
BLTライブラリを入れる
ムキーとなったんで、更に調べてみました。
そしたら、答えがあった。
- Python GUI Setup
http://www.physics.cornell.edu/sethna/teaching/218_F03/Fourier/PythonGUISetup.html - Links
http://heim.ifi.uio.no/~hpl/Pmw.Blt/doc/links.html
Linksの箇所に、以下のくだりがあったんですよ。
Troubleshooting
Getting Pmw.Blt to work on Windows machines. Some users have had a problem with importing the Pmw.Blt widget on Windows systems. Here is a recipe collected from Python newsgroup messages by Peter Brown at phbrown@acm.org:
1.Install BLT 2.4u into C:/Python20/tcl, using BLT's installer (the one for Tcl/Tk 8.3). This gives you bin, include, and lib subdirectories of C:/Python20/tcl, with all the BLT stuff in them.
2.Copy C:/Python20/tcl/lib/blt2.4 into C:/Python20/tcl/tcl8.3.
3.Put the BLT DLLs in a directory on your PATH (not necessarilly a system directory, it just has to be on your PATH)
要するに、BLTライブラリをダウンロードしてきて、Pythonの適当なフォルダにコピーしろって事らしいです。なるほど。
- オフィシャルサイト: SourceForge.net: The BLT Toolkit
http://sourceforge.net/projects/blt/
上のオフィシャルサイトから、BLTライブラリをダウンロードします。
私は、以下のファイルをダウンロードしました。
- blt24z-for-tcl84.exe
上のファイルを実行すると、何か適当なフォルダに入れさせろ、と言って来ます。
最初、Python24フォルダ内のTclフォルダを指定してやろうと思ったんですが、ちょっと怖かったんで、デフォルトの"C:\Program Files\Tcl"に入れました。
後は、以下のようにコピーします。
- "C:\Program Files\Tcl\lib"以下をまるごと、"C:\Python24\tcl"の下にコピーします。
コピーすると、"C:\Program Files\Tcl\lib\BLT24.lib"と"C:\Program Files\Tcl\lib\BLTlite24.lib"が、"C:\Python24\tcl\BLT24.lib"と"C:\Python24\tcl\BLTlite24.lib"に配置されます。 - "C:\Program Files\Tcl\bin"の下のDLLファイルを、"C:\Python24\DLLs"にコピーします。
コピーすると、"C:\Program Files\Tcl\bin\BLT24.dll"と"C:\Program Files\Tcl\bin\BLTlite24.dll"が、"C:\Python24\DLLs\BLT24.dll"と"C:\Python24\DLLs\BLTlite24.dll"に配置されます。
これで、インストール完了です。
再び、デモ("C:\Python24\Lib\site-packages\Pmw\Pmw_1_2\demos\All.py")を動かして見ましょう。
Pmw3 posted from フォト蔵
いやほぅ!動きました。
Pmw.Bltのサンプル事例は、紹介サイト(http://heim.ifi.uio.no/~hpl/Pmw.Blt/doc/)の下に、Demosってのがありますんで、これを参考にすると良いと思います。