2011/10/20

Matplotlib - анимация в реальных условиях

На сайте проекта - http://matplotlib.sourceforge.net/examples/index.html - даны базовые примеры анимации с графиками, которые, как обычно бывает, плохо работают в боевых условиях. Например, у меня имеется прога на GTK, с отдельным потоком, где производятся все вычисления для графиков. По-хорошему, там же и надо вызывать функцию перерисовки, но не тут-то было!

Иксы выкатывают мне неведомую ошибку:
The program 'panel.py' received an X Window System error. This probably reflects a bug in the program. The error was 'BadDrawable (invalid Pixmap or Window parameter)'. (Details: serial 6974 error_code 9 request_code 62 minor_code 0) (Note to programmers: normally, X errors are reported asynchronously; that is, you will receive the error a while after causing it. To debug your program, run it with the --sync command line option to change this behavior. You can then get a meaningful backtrace from your debugger if you break on the gdk_x_error() function.)
Я так и не понял почему такое может происходить, поэтому начал искать другой способ запуска функции через определенный промежуток времени. В этом мне помог такой кодес:
import gobject
gobject.timeout_add(1000, self.animate)
 Такой замес тупо вызывает функцию animate каждую секунду. Все довольны!

No comments:

Post a Comment