![]() |
Здравствуйте, гость ( Вход | Регистрация )
![]() ![]() |
![]() |
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 |
|
|
novichkov |
![]()
Сообщение
#2
|
Студент ![]() Группа: Участник Сообщений: 64 Регистрация: 20.3.2008 Из: Северодвинск Пользователь №: 128 Спасибо сказали: 6 раз(а) Репутация: ![]() ![]() ![]() |
А обязательно использовать QListView? Если вы хотите, чтобы строки виджета выглядели как в QListView, просто используйте QTreeView. Ну а если обязательно, то можно попытаться написать соответствующий QAbstractProxyModel.
Сообщение отредактировал novichkov - 23.11.2011, 19:42 |
|
|
Strikevld |
![]()
Сообщение
#3
|
Студент ![]() Группа: Участник Сообщений: 53 Регистрация: 6.9.2011 Пользователь №: 2849 Спасибо сказали: 6 раз(а) Репутация: ![]() ![]() ![]() |
Просто я собираюсь использовать это ещё и в QML
А там вроде нет TreeView |
|
|
BlueIceScream |
![]()
Сообщение
#4
|
![]() Студент ![]() Группа: Участник Сообщений: 56 Регистрация: 21.11.2011 Из: Республика Дагестан Пользователь №: 3016 Спасибо сказали: 18 раз(а) Репутация: ![]() ![]() ![]() |
Ну тут сразу 4 решения:
1) Наследуете QTableView переопределяете paintEvent. Для возможности редактирования можете изменить еще некоторые методы, либо заменить стандартный делегат. 2) Создаете собственный делегат для прорисовки элементов в QListView. 3) Если стоит вопрос только изменения внешнего вида, то простейшее решение использовать собственный StyleSheet для QTableView. 4) Наследуете QAbstractItemModel. Создаете собственную модель, в которой ваши данные в нескольких ячейках собираете в одну, и выдаете для прорисовки стандартному делегату класса QListView. 4-ый метод конечно противоречит самой MVC, но в пройстеших нуждах можно и его использовать. Я бы использовал 2 метод если нужна гибкая система с возможностью корректного изменения данных. Имея QModelIndex для текущей строки можно пройтись по столбцам QAbstractTableModel, сгруппировать их необходимым образом и нарисовать. Если нет нужны непосредственного изменения данных через представление, то конечно же мой вариант 3. |
|
|
Strikevld |
![]() ![]()
Сообщение
#5
|
Студент ![]() Группа: Участник Сообщений: 53 Регистрация: 6.9.2011 Пользователь №: 2849 Спасибо сказали: 6 раз(а) Репутация: ![]() ![]() ![]() |
Блин... Клёво!!! Спасибо!!!
|
|
|
![]() ![]() ![]() |
![]() |
Текстовая версия | Сейчас: 17.2.2025, 9:51 |