Я собираюсь начать писать графический интерфейс для модульного приложения синтеза (например, Alsa Modular Synth, Pure Data, Ingen), которое будет использоваться для редактирования патчей (звуков).
Что мне нужно сделать, это что-то вроде этого:
(источник: drobilla.net)
(источник: mcgill.ca)
Так что, по сути, это область, где я могу нарисовать несколько прямоугольников (прямоугольников), представляющих модули синтезатора с входными и выходными портами, которые я могу соединить проводами.
Проблема в том, что я не могу понять, как два создают виджет для области редактирования: использование простого контекста 2D-рисования, когда я рисую блоки вручную, кажется единственным логичным способом сделать это, но при этом я теряю все отличное управление событиями, которое qt дает мне.
Мне интересно, есть ли возможность создать собственный макет, который просто берет координаты созданных «блоков» и помещает их на экран, чтобы я реализовал блоки как подклассы QWidget (и повторно использовал систему обработки событий qt), и я добавляю их к окну, как я обычно делаю.
Или, может быть, есть лучший способ?
Спасибо