Russian Qt Forum

Qt => Model-View (MV) => Тема начата: v.martyanov от Апрель 21, 2015, 22:35



Название: Скрестить QPlainTextEdit и View
Отправлено: v.martyanov от Апрель 21, 2015, 22:35
Модель содержит бинарные данные, которые хочется отображать в виде текста, типа "0x0000100 int 0x0BAD" и тому подобное, количеством сотни тысяч - миллионы записей. Хочется иметь View, позволяющий это отображать с выделением текста как в QPlainTextEdit и возможностью изменения цвета текста. Обратная связь от View к модели - через команды с клавиатуры. QTableView по опыту коллеги на столь большие объемы не расcчитан. QListView не имеет нужного выделения и выделения цветами. QTextDocument + QPlainTextEdit странны и непонятны мне в связке. Был предложен вариант QListView + QLineEdit в каждой строке, но не нашел ни одного примера добавления живого QLineEdit в него.

Как делать? Если есть opensource софт с отображением модели в текст - подскажите как зовется.


Название: Re: Скрестить QPlainTextEdit и View
Отправлено: Fregloin от Апрель 22, 2015, 09:01
Писать свою модель и делегат.


Название: Re: Скрестить QPlainTextEdit и View
Отправлено: v.martyanov от Апрель 22, 2015, 09:36
Да с моделью-то проблем нет. А вот с View как быть? На основании чего делать?


Название: Re: Скрестить QPlainTextEdit и View
Отправлено: Fregloin от Апрель 23, 2015, 09:23
возможно придется писать что то свое ..., можно извратиться конечно через QTableView, но думаю в данном случае наверное проще своего наслденика от QScrollArea писать, или лучше вообще с нуля от QWidget+QScrollBar.


Название: Re: Скрестить QPlainTextEdit и View
Отправлено: Igors от Апрель 23, 2015, 10:17
Q(Plain)TextEdit здесь точно не подходит, да и аналогия с записями неуместна - это бинарные данные. Может, не мудрствуя лукаво, поискать исходники hex editor'а на Qt ?


Название: Re: Скрестить QPlainTextEdit и View
Отправлено: v.martyanov от Апрель 23, 2015, 12:20
Фишка как раз в том, чтобы иметь текстовое представление данных. Нашел qhexedit2, который вроде бы связывает сырые данные с их текстовым представлением, но не совсем понятно какие у него перспективы. Отрезаю от него все лишнее, чтобы понять как у них что сделано.


Название: Re: Скрестить QPlainTextEdit и View
Отправлено: Авварон от Апрель 25, 2015, 09:45
пользуйтесь https://github.com/ABBAPOH/andromeda/blob/master/src/plugins/parts/bineditorpart/binedit.h
измененный виджет из креатора - не должно быть зависимостей. берет внешний йодевайс и не читает его весь в память, а бегает сиком