はじめに

このプロジェクトでは、ラボにおけるソフトウェア開発を支援するためのアプリケーションフレームワークPyLAFを開発します。 PyLAFは、TkinterベースのGUIを備えたコンポーネントを簡単に開発するためのフレームワークと、 これらのコンポーネントをデータ駆動的に連携させるイベント処理機構を備えています。 PyLAFでコンポーネントを組み合わせたアプリケーションを書く方法は簡単です。

# coding: utf-8
import Tkinter, PyLAF

# 無線信号発生器とスペクトルアナライザの生成
o = PyLAF.Wireless.Transmitter.application(Tkinter.Tk(),figsize=(300,300),dpi=75); o.master.title('Transmitter'); o.pack()
v = PyLAF.Spectrum.application(Tkinter.Toplevel(o.master)); v.master.title('Spectrum'); v.pack()

# 無線信号発生器とスペクトルアナライザ間の配線
o.sig_out.link(v.sig_in)
o.oversamplingrate.link(v.samplerate)

# パラメータの設定
v.xmin.set(-2); v.xmax.set(2)
v.ymin.set(-200); v.ymax.set(0)

# イベントループの起動
Tkinter.mainloop()
Plugin Error: attach file not found: PyLAF_Transmitter.png

回路シミュレータのネットリストのように、PythonスクリプトにてPyLAFコンポーネントを生成し、配線し、Tkinter.mainloop()にてイベントループを起動します。

画面はQPSKの無線通信信号の生成器とスペクトルアナライザのコンポーネントを接続して表示したものです。 無線信号生成器は疑似乱数二値データ発生器、ローパスフィルタなどの別のコンポーネントから構成されていて、生成器のパネルに表示されている ボタンを押すことで別コンポーネントにアクセスすることができます。 ここではすべてのコンポーネントの操作パネルを表示させました。

コンポーネントの作成にはPythonとTkinterの知識が必要ですが、PyLAF.Componentを継承し、データのインタフェースにPyLAF.Portを使用することだけ守れば、 容易にPyLAFのルールに則ったコンポーネントを作成できるようにしています。

将来、eclipseのGEFなどを活用してGUIを備えた統合開発環境に発展して、ExcelやLabViewやSimulinkのように部品を用意して配線すればアプリケーションが 作れるようになればいいですね。

最新文件发布

plfdtd (0.1.0)2012-05-14 18:57
pylaf (0.5.0)2012-10-18 17:20

Recent Tickets

(empty)