![]() |
Здравствуйте, гость ( Вход | Регистрация )
![]() |
Strikevld |
![]() ![]()
Сообщение
#1
|
Студент ![]() Группа: Участник Сообщений: 53 Регистрация: 6.9.2011 Пользователь №: 2849 Спасибо сказали: 6 раз(а) Репутация: ![]() ![]() ![]() |
Например идея такая:
Widget (делегат какбы) ----------------------------------------------------------------------------- | ChildWidget1 | ChildWidget2 | ChildWidget3 | ChildWidget4 | - это всё одна строка ListView ----------------------------------------------------------------------------- Каждый из ChildWidget соответствует своей колонке в TableModel Блин понимаю что это должно быть просто но не представляю с чего начинать! Направьте куда надо! P.S. Мне это ещё и в QML надо будет но в том разделе я даже вопрос не мог сформулировать! Сообщение отредактировал Strikevld - 21.11.2011, 13:59 |
|
|
![]() |
BlueIceScream |
![]()
Сообщение
#2
|
![]() Студент ![]() Группа: Участник Сообщений: 56 Регистрация: 21.11.2011 Из: Республика Дагестан Пользователь №: 3016 Спасибо сказали: 18 раз(а) Репутация: ![]() ![]() ![]() |
Ну тут сразу 4 решения:
1) Наследуете QTableView переопределяете paintEvent. Для возможности редактирования можете изменить еще некоторые методы, либо заменить стандартный делегат. 2) Создаете собственный делегат для прорисовки элементов в QListView. 3) Если стоит вопрос только изменения внешнего вида, то простейшее решение использовать собственный StyleSheet для QTableView. 4) Наследуете QAbstractItemModel. Создаете собственную модель, в которой ваши данные в нескольких ячейках собираете в одну, и выдаете для прорисовки стандартному делегату класса QListView. 4-ый метод конечно противоречит самой MVC, но в пройстеших нуждах можно и его использовать. Я бы использовал 2 метод если нужна гибкая система с возможностью корректного изменения данных. Имея QModelIndex для текущей строки можно пройтись по столбцам QAbstractTableModel, сгруппировать их необходимым образом и нарисовать. Если нет нужны непосредственного изменения данных через представление, то конечно же мой вариант 3. |
|
|
![]() ![]() ![]() |
![]() |
|
Текстовая версия | Сейчас: 6.5.2025, 0:20 |