использование холста в приложении gtkmm

Я начинаю пробовать некоторые графические библиотеки с интерфейсом С++.

На самом деле я пробую несколько примеров с gtkmm. Простые примеры работают, но сейчас я ищу холст. Я обнаружил, что libgnomecanvasmm, кажется, является частью libgnomemm, который, кажется, можно использовать под gtkmm, я надеюсь!

Но я не нашел простого примера, как я могу добавить libgnomecanvas с интерфейсом gtkmm.

Может ли кто-нибудь помочь мне с простой прогой для рисования одной линии в окне, содержащем только холст в качестве примера.

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

Редактировать: Хорошо, я проверю goocanvasmm. Пакеты, которые я мог бы установить, не имеют примера кода. Также сеть не предложила пример!? Может ли кто-нибудь указать мне на один? Документация, которую я нашел, почти пуста, есть только иерархия классов, сгенерированная doxygen. Функции без описаний очень полезны :-)


person Klaus    schedule 07.12.2012    source источник
comment
Вам действительно нужен полнофункциональный холст (то есть тот, который рисует состояние за вас) или просто способ рисовать пользовательский виджет?   -  person Ancurio    schedule 07.12.2012
comment
Я хочу, чтобы на холсте были активные элементы, если это возможно. Было бы неплохо иметь что-то вроде tk-canvas. В т.к. также можно придавать графическим формам события мыши и т.п. Если есть какой-то полнофункциональный холст, было бы неплохо :-)   -  person Klaus    schedule 08.12.2012


Ответы (4)


libgnomecanvas и libgnomecanvasmm устарели и не поддерживались годами. Официальной замены пока нет, но goocanvas (обернутый goocanvasmm) достаточно популярен и вменяем.

Однако в архиве libgnomecanvasmm есть примеры. Но я бы не стал его трогать сейчас (когда-то поддерживал).

person murrayc    schedule 07.12.2012
comment
Спасибо за подсказку к примерам в пакете. Я ничего не нашел в Интернете, но да, в пакете есть простой пример. После вызова Canvas::init мой код работает :-) - person Klaus; 08.12.2012

Вам следует попробовать goocanvasmm, привязки C++ к GooCanvas.

person liberforce    schedule 07.12.2012

Я не знаю ваших требований, но papyrus предоставляет собственный холст GTKmm. gnomecanvas должен был быть объявлен устаревшим несколько лет назад.

person ntd    schedule 07.12.2012

Мне не разрешено комментировать, поэтому вот ответ - спасибо за этот вопрос, было полезно начать работу с холстом.

В онлайн-книге 'Writing Приложения GNOME», в котором подробно рассматривается все.

person Omega Weapon    schedule 05.08.2015
comment
Можете ли вы также опубликовать соответствующий контент по ссылке? - person Robert; 05.08.2015