忍者ブログ
ロボット、千葉ロッテマリーンズについていいかげんなことを書きます。
[224]  [218]  [217]  [212]  [209]  [206]  [204]  [203]  [202]  [200]  [198
×

[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。

その4でPyQtで作ったGUIをRTコンポーネント化した際、グローバル変数を使いましたがOpenRTM-aist-Python-1.0.0のサンプルではもっときれいな方法でやってます。

今回はその4でのプログラムを少し書きなおしました。

サンプルはサンプルを置くページからPyQt-SAMPLE4-2.zipをダウンロードしてください。

手順としては、
 

  1. Dialogクラスの set_on_update(self, func) で self.on_update に関数funcを入れるようにする。
  2. GuiControllerクラスの set_out(self, b1, b2) のようにb1、b2をself.OUTに入れる関数を作る。
  3. self.OUT をアウトポートから出力するようにする。(onExecute)
  4. main で dialog.set_on_update(comp.set_out) のように関数set_outをset_on_updateのfuncにする。
  5. RTCBuilderの作るコードでは comp = mgr.createComponent("GuiController") がmainでは扱えず、dialog.set_on_update(comp.set_out) のようにset_out関数が使えないためサンプルのようにmain内に書きなおす。


こんな所。

全部同じファイルに書くならグローバル変数のほうが良いと思います。















ランキングに参加してます。押していただけると今まで経験がないくらい嬉しいです。
にほんブログ村 IT技術ブログ Pythonへ
にほんブログ村の
Pythonのカテゴリ
現在参加人数1人・・・
人気ブログランキングへ   

PR
この記事にコメントする
お名前
タイトル
文字色
メールアドレス
URL
コメント
パスワード   Vodafone絵文字 i-mode絵文字 Ezweb絵文字
この記事へのトラックバック
この記事にトラックバックする:
カレンダー
03 2024/04 05
S M T W T F S
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30
フリーエリア
最新CM
[08/31 ysuga]
[08/31 Nobu]
[08/31 ysuga]
[12/11 Nobu]
[12/11 Kanamura]
最新TB
プロフィール
HN:
Nobu
年齢:
35
性別:
男性
誕生日:
1988/09/22
職業:
あれ
趣味:
妄想、自堕落
バーコード
ブログ内検索
P R
カウンター
忍者ブログ [PR]