В настоящее время я создаю приложение для редактирования параллельных списков событий, происходящих в определенный период времени. В модели/бэкенде есть список списков, где в подсписке все элементы упорядочены.
Каждое событие должно быть представлено строкой/глифом (из шрифта ttf), и каждая из текстовых строк должна быть отредактирована как обычная строка текста с несколькими исключениями, как они отображаются. Посмотри на эту картинку:
В основном каждая строка представляет собой строку текста. Каждое событие представляет собой одиночный символ/глиф. Так это текстовый редактор?! Не совсем
- Нет разрывов строк
- Несколько линий параллельно
- После каждого глифа есть отдельный пробел (направление X).
- Каждый глиф можно сдвигать "вверх" и "вниз" по отдельности (направление Y) (возможно, самый важный момент)
- Если вы удалите глиф, все элементы справа от него перейдут на шаг «влево», чтобы закрыть зазор (как в обычном текстовом редакторе).
- Если вы вставляете глиф, все элементы справа от него делают шаг «вправо», чтобы создать зазор для вставки.
Большинство из этих моментов покрываются QGraphicsLinearLayout, но, возможно, это неправильный виджет/макет для этого подхода. Есть ли у вас какие-либо рекомендации?