crossplatform.ru

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

> Не отображается 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*)?
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
 
Начать новую тему
Ответов
Гость_Гость_Delphist_*_*
сообщение 17.8.2008, 15:32
Сообщение #2





Гости








    


Цитата(Litkevich Yuriy @ 15.8.2008, 19:00) *
Теперь вопрос, откуда идея: "класс иерархической структуры - за счет использования QHash"?

Т.е. почему такой способ хранения данных? Откуда берутся данные?

В моем примере MyMonitor.zip (который здесь представлен) все подробно показано как заполняется класс иерархической структуры, затем показано как этот класс используется в моей модели, и мой вопрос звучал так: почему не отображается rootNoode, нормальный ответ должен звучать приблизина так Delphist у тебя там то там то есть ошибка, если же у меня все правильно, то сказать причину по которой не выводится rootNode. Вот и все. А заниматься демагогией можно бесконечно долго ток вопроса это не решает. Поэтому, большая просьба, давать ответы по сути, а не спрашивать "откуда идея: "класс иерархической структуры - за счет использования QHash", почему такой способ хранения. Так и хочется сказать по качену, но сдержусь и отвечу, есть проект который разрабатывал не я, есть тех. зад. которое диктует мне руководство, а я всего лишь программист, и должен писать в том фундаменте который был создан без меня. и класс указанный в my.cpp он уже существует очень давно, и менять QHash на QList из-за меня не будет. Вот так вот.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

Сообщений в этой теме


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


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




RSS Текстовая версия Сейчас: 5.1.2025, 17:45