@Metoksyfenidyna9: Ad 1. Jak korzystasz z QWidgetów to QStringListModel przypięty do QListView. Ad 2. Masz metodę QString::mid która działa jak std::string:substr.
Jest jeszcze opcja najlepsze i najbardziej oszczędna, zrobienie własnego QAbstractListModel, który przechowuje tylko sam bufor pliku. QAbstractListModel::data będzie zwracać tylko sformatowaną linijkę, z adresem na samym początku tylko wtedy kiedy QListView o niego poprosi.
Ogarnięcie QAbstractItemModel wymaga trochę nauki i czasu, ale pomaga pisać zgodnie ze wzorcem MVC.
@lionbest: Tylko czy przy opcji z QAbstractListModel musiałbym wtedy analogicznie napisać coś co przy zapisie do pliku (po jego edycji) będzie usuwać wtedy ten początek tak?
@Metoksyfenidyna9: Nie, to się robi zupełnie inaczej. Najpierw z przeładowanej metody QAbstractItemModel::flags zwracasz że dany element jest edytowalny. QListView gdy przechodzi do edycji (standardowo dwuklik) elementu tworzy nowy Widet do edycji, pobiera z modelu rolę Qt::EditRole, zamiast Qt::DisplayRole, dzięki temu możesz zwrócić same hexy bez prefixu, a po edycji wykona na twoim modelu setData, gdzie możesz podmienić w buforze sobie tylko te bajty dla danej linijki.
@Metoksyfenidyna9: Ogólnie ogarnij QAbstractItemModel, bo to służy do wszystkiego, Listy, Tablice i Drzewa wszystko jednym modelem jest zrobione. Trochę czytania będzie, ale naprawdę super się z tego korzysta.
Ad 1. Jak korzystasz z QWidgetów to QStringListModel przypięty do QListView.
Ad 2. Masz metodę
QString::midktóra działa jakstd::string:substr.Jest jeszcze opcja najlepsze i najbardziej oszczędna, zrobienie własnego QAbstractListModel, który przechowuje tylko sam bufor pliku. QAbstractListModel::data będzie zwracać tylko sformatowaną linijkę, z adresem na samym początku tylko wtedy kiedy QListView o niego poprosi.
Ogarnięcie QAbstractItemModel wymaga trochę nauki i czasu, ale pomaga pisać zgodnie ze wzorcem MVC.
Najpierw z przeładowanej metody QAbstractItemModel::flags zwracasz że dany element jest edytowalny.
QListView gdy przechodzi do edycji (standardowo dwuklik) elementu tworzy nowy Widet do edycji, pobiera z modelu rolę Qt::EditRole, zamiast Qt::DisplayRole, dzięki temu możesz zwrócić same hexy bez prefixu, a po edycji wykona na twoim modelu
setData, gdzie możesz podmienić w buforze sobie tylko te bajty dla danej linijki.