GTK3 учебник рисования области, кажется, не существует?

Я изучал GTK3 самостоятельно, и теперь я застрял на Gtk.DrawingArea. Как и в случае большинства виджетов и функций в GTK, по-видимому, отсутствует обновленная документация и руководства по этому вопросу. Для справки о том, что я нашел (надеюсь, это поможет некоторым другим потерянным гуглерам), автоматически созданная документация lazka была моим лучшим ресурсом:

http://lazka.github.io/pgi-docs/Gtk-3.0/classes/index.html

Однако страница области рисования не имеет описанных методов.

http://lazka.github.io/pgi-docs/Gtk-3.0/classes/DrawingArea.html

Это заставляет меня поверить, что у меня есть фундаментальное неправильное понимание GTK и этого виджета, но я не могу найти ничего, объясняющего, как с ним работать! Единственные обучающие программы, которые я мог найти, были они, но они все для более старых версий;

3 - лучший из этих уроков, но я не могу заставить его работать в GTK3, и, честно говоря, он довольно продвинутый. Некоторые вещи также устарели, и замены кажутся довольно загадочными и неясно, как они работают с DrawingArea: http://lazka.github.io/pgi-docs/Gtk-3.0/classes/Widget.html

Официальный учебник не имеет раздела, и он не был значительно обновлен в течение длительного времени:

http://python-gtk-3-tutorial.readthedocs.org/en/latest/objects.html

https://github.com/sebp/PyGObject-Tutorial

Теперь у меня вопрос: может ли кто-нибудь помочь мне понять, как рисовать с помощью Gtk.DrawingArea? Есть ли учебник GTK3 там?

Моя цель на данный момент состоит в том, чтобы автоматически рисовать черные точки в области рисования на основе результатов алгоритма и отображать результаты. Я бы показал свой код, но у меня почти ничего нет.

1 ответ

Решение

Вы в основном подключаетесь к сигналу::draw и рисуете в обработчике, используя pycairo. И используйте queue_draw/queue_draw_area(), если вы хотите перерисовать.

См. http://zetcode.com/gfx/pycairo/basicdrawing/ для примеров

Другие вопросы по тегам