Спасибо за подсказку про gtk-demo. Для pygtk я ее активно использовал и думал что она только для питона есть.
Еще один архитектурный вопрос. Допустим есть приложение типа векторнрго графического редактора. Все данные для отрисовки в событии expose пстоянно доступны и возможна быстрая отрисовка прямо внутри обработчика события.
Все примеры (в том числе и gtk-demo) используют pixbuf, в который рисуют, а в expose производят только копирование его на окно. При этом появляются явные недостатки - при изменении размеров окна нужно пересоздавать pixbuf, нужно постоянно поддерживать его содержимое в актуальном состоянии или каждый раз стирать все и перерисовывать.
Вопрос: насклько сильно неправильно рисовать прямо в обработчике expose?
Небольшой тест (заполение в цикле всего поля горищонтальными и вертикальными линиями с разными шагами, в том числе и с единичным) не выявил большой разницы ни в ресурсах процессора ни в скорости работы программы. Прав-ли я?