ロボット、千葉ロッテマリーンズについていいかげんなことを書きます。
×
[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。
その4でPyQtで作ったGUIをRTコンポーネント化した際、グローバル変数を使いましたがOpenRTM-aist-Python-1.0.0のサンプルではもっときれいな方法でやってます。
今回はその4でのプログラムを少し書きなおしました。
サンプルはサンプルを置くページからPyQt-SAMPLE4-2.zipをダウンロードしてください。
手順としては、
- Dialogクラスの set_on_update(self, func) で self.on_update に関数funcを入れるようにする。
- GuiControllerクラスの set_out(self, b1, b2) のようにb1、b2をself.OUTに入れる関数を作る。
- self.OUT をアウトポートから出力するようにする。(onExecute)
- main で dialog.set_on_update(comp.set_out) のように関数set_outをset_on_updateのfuncにする。
- RTCBuilderの作るコードでは comp = mgr.createComponent("GuiController") がmainでは扱えず、dialog.set_on_update(comp.set_out) のようにset_out関数が使えないためサンプルのようにmain内に書きなおす。
こんな所。
全部同じファイルに書くならグローバル変数のほうが良いと思います。
ランキングに参加してます。押していただけると今まで経験がないくらい嬉しいです。
にほんブログ村の
Pythonのカテゴリ
現在参加人数1人・・・
PR
この記事にコメントする