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*)?
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
 
Начать новую тему
Ответов
Litkevich Yuriy
  опции профиля:
сообщение 15.8.2008, 6:33
Сообщение #2


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

Группа: Сомодератор
Сообщений: 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?
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Delphist
  опции профиля:
сообщение 15.8.2008, 11:20
Сообщение #3


Студент
*

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

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




Репутация:   0  


Цитата(Litkevich Yuriy @ 15.8.2008, 6:33) *
Т.к. не всегда и не у всех есть желание или время подробно изучать код, расказывай подробности.
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?

Каталог Lib нужен просто для того чтобы отделить сторонние файлы от проекта который я разрабатываю
my.cpp - собственно класс иерархической структуры - за счет использования QHash. Даный класс испоьзуется в модели
mymodel.cpp - здесь реализации модели которая позволяет конечному пользователю через представление TreeView увидеть класс (находящийся в my.cpp) в виде дерева.
mymonitor - здесь собственно реализация взаимодействия действий пользователя через GUI с моделью
sdmtest.cpp - временный класс нужный просто для забивания произвольными данными класс из my.cpp для того чтобы просто посмотреть как же выводиться дерево
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

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


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


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




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