2012-02-26 4 views
1

シリアルデータを受信し、matplotlibを使ってTkinterを使ってグラフをグラフ化するプログラムがあります。私は現在この作業をしていますが、データのキューをポーリングするために.after()関数を使用しなければなりませんでした。過去に使用した他のUIフレームワーク(Cの別のプロジェクト)では、UIフレームワークにメインループから与えられた関数を呼び出す方法がありました(時間の経過後、アイドル時など) 。メインループではないスレッドで.after()を使用しようとすると、うまく動作せず、私に文句を言います。メインループではないスレッドからTkinter mainloop上で呼び出される関数を要求する方法はありますか?

mainloopからメインループではないスレッドで提供される、ユーザー提供の関数を呼び出す方法はありますか?または、メインループに目を覚ますよう指示し、キューがデータを取得した場合には何らかの作業を行う方法がありますか?

ありがとうございました。

答えて

1

私は、event_generateを非GUIスレッドから呼び出すことができると聞いてきました。 event_generateに電話する場合は、tailの値をwhenパラメータに指定する必要があります。

私は個人的にこれを1つのプロジェクトでしか行っていませんが、うまくいきました。

+0

この情報をお寄せいただきありがとうございます。これはまさに私が探していたものです。これについてグーグルでは、私はいくつかの詳細情報を持っているこの他のStackOverflowスレッドを見つけた:http://stackoverflow.com/questions/270648/tkinter-invoke-event-in-main-loop – kcstrom

関連する問題