Как правильно реализовать структуру приложения PyQt5
Нужен совет.
Собираюсь написать приложение. Если коротко в нем должна быть возможность чертить прямоугольники, круги, точки... Для этой задачи подходит QPainter.
Приложение будет большим, поэтому я решил использовать QtDesigner, ведь в нем гораздо легче расставлять виджеты.
И вот я не могу понять как в QtDesigner добавить в окно QPainter? Его нет среди предлагаемых виджетов.
Как реализовать задумку? Не хочется добавлять QPainter в коде, потому что было бы удобно видеть весь вид приложения сразу в QtDesigner.
Ответы (2 шт):
Класс, который предоставляет Qt Designer, не является виджетом,
поэтому я рекомендую вам не изменять его и не реализовывать там логику,
так как у вас будет несколько проблем, лучше всего создать класс,
который наследует соответствующий виджет в соответствии с шаблоном
и использовать класс Qt Designer, чтобы заполнить его.
Данный класс, производный от Python object type.
QPainter предоставляет высокооптимизированные функции для выполнения большинства
программ графического интерфейса для рисования.
QPainter может работать с любым объектом, который наследует класс QPaintDevice.
Класс QPaintDevice - это базовый класс объектов, которые можно рисовать с помощью QPainter.
Рассмотрим например класс QWidget - это базовый класс всех объектов пользовательского интерфейса.
Предлагаю использовать QGraphicsView + QGraphicsScene
Расширение классов-наследников QGraphicsItem позволит Вам определить поведение нужных примитивов.
