Проблема с наследованием QAbstractItemModel, Вызвается только columnCount() а дальше все... |
Здравствуйте, гость ( Вход | Регистрация )
Проблема с наследованием QAbstractItemModel, Вызвается только columnCount() а дальше все... |
fedak_denis |
13.4.2011, 12:21
Сообщение
#1
|
Новичок Группа: Новичок Сообщений: 6 Регистрация: 13.4.2011 Пользователь №: 2597 Спасибо сказали: 0 раз(а) Репутация: 0 |
Всем привет! Проблема в следующем. Наследую QAbstractItemModel. Все необходимые методы переопределил. Ни варнингов ни эрроров никаких нет. Но вьюшка пуста.
В начало каждого метода модели вставил qDebug()<<(имя метода), но в консоли приложения получаю лишь следующее: konstruktor setRootNode columnCount columnCount columnCount ок в columnCount(const QModelIndex &parent) дописал еще ниже qDebug()<<parent, теперь: konstruktor setRootNode columnCount QModelIndex(-1,-1,0x0,QObject(0x0) ) columnCount QModelIndex(-1,-1,0x0,QObject(0x0) ) columnCount QModelIndex(-1,-1,0x0,QObject(0x0) ) Ладно, пусть туда передаются недействительные индексы, но другие методы то почему не вызываются? дописал проверку на действительность индекса.
теперь columnCount только 2 раза запускается konstruktor setRootNode columnCount QModelIndex(-1,-1,0x0,QObject(0x0) ) columnCount QModelIndex(-1,-1,0x0,QObject(0x0) ) |
|
|
xls |
13.4.2011, 13:13
Сообщение
#2
|
Студент Группа: Участник Сообщений: 44 Регистрация: 6.9.2010 Пользователь №: 2013 Спасибо сказали: 7 раз(а) Репутация: 2 |
Похоже, ты не задал модель вьюшке или приведи весь код.
|
|
|
fedak_denis |
13.4.2011, 13:19
Сообщение
#3
|
Новичок Группа: Новичок Сообщений: 6 Регистрация: 13.4.2011 Пользователь №: 2597 Спасибо сказали: 0 раз(а) Репутация: 0 |
Похоже, ты не задал модель вьюшке или приведи весь код. Нет модель с вьюшкой связываю. Ок, щас код кину.
а вот связка тривьюшки с моделью.
|
|
|
Гость_mutineer_* |
13.4.2011, 13:26
Сообщение
#4
|
Гости |
У тебя вью спрашивает сколько колонок надо отобразить, ты ему отвечаешь что 0. Раз колонок нет, то данные отображать не надо. Раз отображать не надо, значит и спрашивать их не надо. Попробуй всегда возвращать 1 из columnCount()
А переданный невалидный индекс в columnCount() и rowCount означает что запрашиваются размеры для корневого элемента. не надо там 0 возвращать |
|
|
fedak_denis |
13.4.2011, 13:36
Сообщение
#5
|
Новичок Группа: Новичок Сообщений: 6 Регистрация: 13.4.2011 Пользователь №: 2597 Спасибо сказали: 0 раз(а) Репутация: 0 |
А переданный невалидный индекс в columnCount() и rowCount означает что запрашиваются размеры для корневого элемента. не надо там 0 возвращать Так то да, логично, исправил.
но вьюшка попрежнему пуста и в консоли konstruktor setRootNode columnCount QModelIndex(-1,-1,0x0,QObject(0x0) ) columnCount QModelIndex(-1,-1,0x0,QObject(0x0) ) columnCount QModelIndex(-1,-1,0x0,QObject(0x0) ) |
|
|
abc |
13.4.2011, 14:45
Сообщение
#6
|
Участник Группа: Участник Сообщений: 221 Регистрация: 16.12.2010 Из: СПб Пользователь №: 2272 Спасибо сказали: 26 раз(а) Репутация: 4 |
|
|
|
fedak_denis |
13.4.2011, 15:10
Сообщение
#7
|
Новичок Группа: Новичок Сообщений: 6 Регистрация: 13.4.2011 Пользователь №: 2597 Спасибо сказали: 0 раз(а) Репутация: 0 |
QuestionsModel questionsModel; нужно через new, по выходе из области видимости твоя модель удаляется если хочешь без new, то нужно модель делать членом класса Точно, оно самое . Большое спасибо. Вторые сутки мучаюсь. Конечно косяки остались - дерево не отображется, но это уже наверно index и parent отлаживать надо. У меня была мысль об этом, но я думал в конструкторе MainWindow объявил там и юзаю свободно. |
|
|
abc |
13.4.2011, 15:22
Сообщение
#8
|
Участник Группа: Участник Сообщений: 221 Регистрация: 16.12.2010 Из: СПб Пользователь №: 2272 Спасибо сказали: 26 раз(а) Репутация: 4 |
Се ля ви
|
|
|
Litkevich Yuriy |
13.4.2011, 17:18
Сообщение
#9
|
разработчик РЭА Группа: Сомодератор Сообщений: 9669 Регистрация: 9.1.2008 Из: Тюмень Пользователь №: 64 Спасибо сказали: 807 раз(а) Репутация: 94 |
|
|
|
Текстовая версия | Сейчас: 1.12.2024, 21:14 |