crossplatform.ru

Здравствуйте, гость ( Вход | Регистрация )

2 страниц V   1 2 >  
Ответить в данную темуНачать новую тему
> Не отображается rootNode при создании класс от QAbstractItemModel
Delphist
  опции профиля:
сообщение 11.8.2008, 9:24
Сообщение #1


Студент
*

Группа: Новичок
Сообщений: 41
Регистрация: 4.8.2008
Из: Россия
Пользователь №: 249

Спасибо сказали: 0 раз(а)




Репутация:   0  


Возникла следующая проблема. У меня есть класс вида:
CMyClass
{
public:
    
    CMyClass();

    inline QString getName() const {return m_sName;}
                inline CMyClass *getParent() {return m_pOwner;}
    inline CMyClass& operator[](QString sKey) {return getProperty(sKey);}

                ...
    
private:
    CMyClass& getProperty(QString sKey);
    QHash<QString,CMyClass*> m_Properties;
    
    QString           m_sName;
    CMyClass      *m_pOwner;
};


по сути это класс иерархической структуры, поэтому для его наглядного изображения я использовал принцип модель-представления,
в качестве представления я использую TreeView в качестве модели свой класс наследованный от QAbstractItemModel.
Проблема следующая, когда у меня дерево вида:
Obj1 (rootNode)
|
|__Child1
| |
| |__Child11
|
|__Child2

то моя модель не отобраэает rootNode, а отображает вот так, в чем может быть проблема.
|__Child1
| |
| |__Child11
|
|__Child2

1. Из-за чего может возникать такая проблема?
2. Может у кого есть, примеры реализации отображения деревьем использующие в качестве контейнера QHash(QString, SameClass*)?
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Litkevich Yuriy
  опции профиля:
сообщение 11.8.2008, 10:15
Сообщение #2


разработчик РЭА
*******

Группа: Сомодератор
Сообщений: 9669
Регистрация: 9.1.2008
Из: Тюмень
Пользователь №: 64

Спасибо сказали: 807 раз(а)




Репутация:   94  


давай свой код сюда.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Tonal
  опции профиля:
сообщение 11.8.2008, 10:43
Сообщение #3


Активный участник
***

Группа: Участник
Сообщений: 452
Регистрация: 6.12.2007
Из: Новосибирск
Пользователь №: 34

Спасибо сказали: 69 раз(а)




Репутация:   17  


rootIsDecorated. Оно?
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Delphist
  опции профиля:
сообщение 11.8.2008, 11:21
Сообщение #4


Студент
*

Группа: Новичок
Сообщений: 41
Регистрация: 4.8.2008
Из: Россия
Пользователь №: 249

Спасибо сказали: 0 раз(а)




Репутация:   0  


Цитата(Litkevich Yuriy @ 11.8.2008, 10:15) *
давай свой код сюда.

Даю весь исходник (MyMonitor.zip в прикрепленном файле), не нужное я оттуда повыкидал, кое что переименовал, но суть работы остается

Цитата(Tonal @ 11.8.2008, 10:43) *
rootIsDecorated. Оно?

Нет не оно

Сообщение отредактировал Delphist - 11.8.2008, 11:58
Прикрепленные файлы
Прикрепленный файл  MyMonitor.zip ( 9.27 килобайт ) Кол-во скачиваний: 141
 
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Delphist
  опции профиля:
сообщение 11.8.2008, 18:42
Сообщение #5


Студент
*

Группа: Новичок
Сообщений: 41
Регистрация: 4.8.2008
Из: Россия
Пользователь №: 249

Спасибо сказали: 0 раз(а)




Репутация:   0  


Да, вижу вопрос не из простых.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Litkevich Yuriy
  опции профиля:
сообщение 11.8.2008, 20:05
Сообщение #6


разработчик РЭА
*******

Группа: Сомодератор
Сообщений: 9669
Регистрация: 9.1.2008
Из: Тюмень
Пользователь №: 64

Спасибо сказали: 807 раз(а)




Репутация:   94  


скачал твои исходники, посмотрю.
Так на в скидку о проблеме, видимо ты модель не коректно строиш из свои данных, а именно см. рисунки Классы моделей, может ты не обратил внимание на Корневой Элемент, это фиктивный элемент. и он видимо у тебя и возвращается моделью.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Delphist
  опции профиля:
сообщение 12.8.2008, 9:16
Сообщение #7


Студент
*

Группа: Новичок
Сообщений: 41
Регистрация: 4.8.2008
Из: Россия
Пользователь №: 249

Спасибо сказали: 0 раз(а)




Репутация:   0  


Цитата(Litkevich Yuriy @ 11.8.2008, 20:05) *
Так на в скидку о проблеме, видимо ты модель не коректно

да вроде все правильно делаю, а там фиг его знает...
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
niXman
  опции профиля:
сообщение 12.8.2008, 11:09
Сообщение #8


Участник
**

Группа: Участник
Сообщений: 169
Регистрация: 18.6.2008
Пользователь №: 204

Спасибо сказали: 1 раз(а)




Репутация:   0  


Litkevich Yuriy, Мдя... Я уже помучкался с этим кодом )))
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Delphist
  опции профиля:
сообщение 13.8.2008, 17:28
Сообщение #9


Студент
*

Группа: Новичок
Сообщений: 41
Регистрация: 4.8.2008
Из: Россия
Пользователь №: 249

Спасибо сказали: 0 раз(а)




Репутация:   0  


Народ помагите. не оставляйте меня одного с этой проблемой
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Litkevich Yuriy
  опции профиля:
сообщение 15.8.2008, 6:33
Сообщение #10


разработчик РЭА
*******

Группа: Сомодератор
Сообщений: 9669
Регистрация: 9.1.2008
Из: Тюмень
Пользователь №: 64

Спасибо сказали: 807 раз(а)




Репутация:   94  


Т.к. не всегда и не у всех есть желание или время подробно изучать код, расказывай подробности.
1) Lib\my.cpp(h)
2) main.cpp - тут понятно
3) mymodel.cpp(h)
4) mymonitor.cpp(h)
5) mymonitor.qrc
6) mymonitor.ui
7) sdmtest.cpp(h)

Вопросы по каждому пункту одни и теже:
1) Для чего нужен этот файл (что в нем и какую роль выполняет)?
2) Как связан с другими файлами и зачем?

Отдельный вопрос для чего нужен отдельный каталог Lib?
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

2 страниц V   1 2 >
Быстрый ответОтветить в данную темуНачать новую тему
Теги
Нет тегов для показа


1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0




RSS Текстовая версия Сейчас: 25.4.2024, 9:08