[openrtm-users 03432] Re: Python/Examples/Slider_and_Motor
MASUTANI Yasuhiro
masutani @ osakac.ac.jp
2017年 9月 7日 (木) 20:58:06 JST
高橋様,
大阪電通大の升谷です.
返信ありがとうございます.
同じように例外処理を追加してみましたが,それでスルーされる場合もありま
すが,かなりの割合でPython自身が異常終了してしまいます.環境の違いによ
るものでしょうか?
高橋様は,どのような環境を試されていますか?私は,Windows 10 64bitに
Python 2.7.10 64bitです.
Tkinterをあまりわからぬまま使っていましたが,調べているうちにScaleの使
い方が他の事例と異なることに気が付きました.スライダの値を得るために,
他の事例では,variableオプションの指定した変数のget()メソッドを使って
いますが,slider.pyでは,Scaleのインスタンスのget()メソッドを使ってい
ます.試しに,
def get(self):
val = []
for s in self.scales:
val.append(s.get())
return val
を
def get(self):
val = []
for v in self.var:
val.append(v.get())
return val
と書き換えてみたところ,例外は出なくなり,問題は解決したように見えます.
いかがでしょうか?検討をお願いいたします.
On Wed, 06 Sep 2017 19:11:56 +0900,
Takahashi Saburo <takahashi.saburo @ aist.go.jp> wrote:
>
> To:升谷様
>
> いつもお世話になっております.
> 産総研の高橋です.
>
> 手元でも試してみたところ,激しくスライダを動かした際に
> Tkinter が例外を吐いてしまうようです.
>
> 私の環境では,ひとまず slider.py の中で下記のように例外を処理すれば落ちなくなりました.
> お手数をお掛けして申し訳ございませんが,一度ご確認いただけませんでしょうか.
>
> slider.py
> -----------
> def get(self):
> val = []
> for s in self.scales:
> + try:
> + val.append(s.get())
> + except:
> + print('get error!!!!')
>
> return val
>
> def set(self, value):
> i = 0
> for v in value:
> + try:
> + self.scales[i].set(v)
> + except:
> + print('set error!!!!')
>
>
> 以上です.
> よろしくお願い致します.
--
# 升谷 保博
# 大阪電気通信大学 総合情報学部 情報学科
# 575-0063 大阪府四條畷市清滝1130-70 / TEL&FAX: 072-876-5107
# ヒト型レスコン@大阪電通大 2017.11.5 http://goo.gl/AjTWD2
More information about the openrtm-users
mailing list