2016-09-19 3 views
1

Я новичок в GTK + 3, и я хочу создать собственный виджет рисования (возможно, сетку). Мне нужно иметь возможность перетаскивать на него логические объекты для моего симулятора логических ворот. Как это может быть сделано? Область рисования должна находиться рядом с меню, содержащим логические объекты.GTK + 3 пользовательская область рисования

ответ

0

Я бы, скорее всего, рекомендую вам использовать GtkDrawingArea внутри GtkScrolledWindow. Весь чертеж должен быть выполнен с использованием Cairo. Нарисуйте сетку, затем обработайте вручную свои логические объекты. Вы можете использовать один из виджетов GtkToolItem для своего верхнего или бокового окна.

Это амбициозный проект в первый раз, но очень похож на мой первый крупный проект. Он использует очень похожую идею GtkDrawingArea. Он находится в Perl и равен here on GitHub. Если вы можете расшифровать Perl, он может предоставить вам некоторые идеи о том, как сделать собственный виджет.

1

По-моему, ваши требования, похоже, более схожи с холстом. Проект Ridley включает a selection кандидата на холсты, который будет включен в GTK +. Не уверен, что это все еще актуально, но этот выбор является хорошим.

+0

Я нашел GooCanvas вполне приличным. – ptomato

Смежные вопросы