Какой класс использует Qt-дизайнер для редактирования свойств элементов пользовательского интерфейса? - PullRequest
0 голосов
/ 22 сентября 2018

В данный момент я пишу инструмент для извлечения частей кадров из файлов mp4-video.Вы рисуете прямоугольники на видео, и инструмент извлекает .png-изображения через равные промежутки времени.Теперь я хочу дать пользователю возможность редактировать свойства отдельных прямоугольников, нарисованных на видео (точное положение, частота извлечения кадров, временные рамки и т. Д.).Мне нравится подход, который использует QtDesigner для редактирования элементов пользовательского интерфейса.Вы можете видеть, что я имею в виду на этом снимке экрана, который я нашел в интернете

Желто-зеленая таблица содержит пары имен и значений для различных свойств выбранного элемента пользовательского интерфейса.Таблица делится на разделы в зависимости от того, от какого класса было унаследовано свойство.На скриншоте зеленая часть унаследована от MarbleWidget.Желтая часть унаследована от другого класса.Я хочу, чтобы каждое деление ссылалось на отдельный прямоугольник, а цвет соответствовал цвету, на котором нарисован прямоугольник на экране.

Я пытался использовать QTreeView, QTableView, QToolBox и QTableWidget, но ни один из них -мои знания - предложить положить QWidgets в «значение» части таблицы.На скриншоте вы можете видеть флажки, например.В моем случае я хотел бы использовать ползунок диапазона.Кто-нибудь знает, какой класс используется для реализации этой таблицы?

1 Ответ

0 голосов
/ 27 сентября 2018

Я думаю, вам будет трудно использовать дизайнерские классы в обычном приложении.

См. qtpropertybrowser для редактирования свойств.

См. setIndexWidget для статического виджета.Как говорится, используйте QItemDelegate для динамических виджетов.Обратите внимание, что определенные подклассы элементов имеют свои собственные методы, такие как QTableWidget.setCellWidget.

...