Я новичок в GTK + 3, и я хочу создать собственный виджет рисования (возможно, сетку). Мне нужно иметь возможность перетаскивать на него логические объекты для моего симулятора логических ворот. Как это может быть сделано? Область рисования должна находиться рядом с меню, содержащим логические объекты.GTK + 3 пользовательская область рисования
ответ
Я бы, скорее всего, рекомендую вам использовать GtkDrawingArea внутри GtkScrolledWindow. Весь чертеж должен быть выполнен с использованием Cairo. Нарисуйте сетку, затем обработайте вручную свои логические объекты. Вы можете использовать один из виджетов GtkToolItem для своего верхнего или бокового окна.
Это амбициозный проект в первый раз, но очень похож на мой первый крупный проект. Он использует очень похожую идею GtkDrawingArea. Он находится в Perl и равен here on GitHub. Если вы можете расшифровать Perl, он может предоставить вам некоторые идеи о том, как сделать собственный виджет.
По-моему, ваши требования, похоже, более схожи с холстом. Проект Ridley включает a selection кандидата на холсты, который будет включен в GTK +. Не уверен, что это все еще актуально, но этот выбор является хорошим.
- 1. Как обновить область рисования в GTK
- 2. Py GTK Область рисования и редактор Rich Text
- 3. Кнопки Gtk над областью рисования Gtk
- 4. область рисования pygtk не отображается
- 5. отображать изображение в gtk - требуется ли рисовать область gtk?
- 6. Получить непрозрачную область рисования
- 7. GTK + Как рисовать в области рисования
- 8. Пользовательская область касания UIView
- 9. GTK выделяемая область прозрачный цвет фона
- 10. область рисования на карте Google
- 11. Область рисования с использованием cairo
- 12. Gtkmm - "Gtk :: DrawingArea" в "Gtk :: ScrolledWindow"?
- 13. GTK # событие мыши в области рисования
- 14. Эффективность рисования GTK Pixbufs с Cairo
- 15. Изменение размера области рисования в GTK
- 16. Downgrading GTK + 3 приложения
- 17. gtk 3 popup menu
- 18. GTK + 3 StatusIcon замена
- 19. Безопасна ли GTK + 3?
- 20. GTK + 3 многопоточность
- 21. GTK + 3 Портирование: GdkDeviceAxis
- 22. ARToolKit Пользовательская область отслеживания камеры
- 23. AngularJS - Пользовательская директива Область «&» делать?
- 24. Как динамически изменять область рисования через Java?
- 25. draw to gtk window
- 26. Пользовательская кнопка рисования с использованием uxtheme.dll
- 27. python GTK 3 Glade 3 Timer
- 28. Как обновить область рисования новыми точками рассеяния?
- 29. Почему моя область рисования холста настолько мала?
- 30. Как скопировать область рисования в CImage
Я нашел GooCanvas вполне приличным. – ptomato