Не отображается rootNode при создании класс от QAbstractItemModel |
Здравствуйте, гость ( Вход | Регистрация )
Не отображается rootNode при создании класс от QAbstractItemModel |
Delphist |
15.8.2008, 11:20
Сообщение
#11
|
Студент Группа: Новичок Сообщений: 41 Регистрация: 4.8.2008 Из: Россия Пользователь №: 249 Спасибо сказали: 0 раз(а) Репутация: 0 |
Т.к. не всегда и не у всех есть желание или время подробно изучать код, расказывай подробности. 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 для того чтобы просто посмотреть как же выводиться дерево |
|
|
Litkevich Yuriy |
15.8.2008, 19:00
Сообщение
#12
|
разработчик РЭА Группа: Сомодератор Сообщений: 9669 Регистрация: 9.1.2008 Из: Тюмень Пользователь №: 64 Спасибо сказали: 807 раз(а) Репутация: 94 |
вообщем как бы я начал делать твою прогу.
Сделал бы интерфейс, который компилится, но несодержит модели и следовательно данные. 1) Главный файл не содержит ничего лишнего, только стандартный набор (обычно его засовывают в клас унаследованый от QApplication, но пока так) + главный виджет программы 1.1) файл main.cpp
2) Главный виджет 2.1) Файл mymonitor.ui mymonitor.zip ( 355 байт ) Кол-во скачиваний: 197 создан на основе QWidget, т.к. ты не использовал ничего из особенностей QMainWindow, и сможешь встроить его как обычный виджет в любую программу, по завершении тестов. Имя главного класса: MyMonitor Имя древовидного представления: view 2.2) На его основе создаю класс MyMonitor (два файла mymonitor.cpp/h) с монежественным наследованием, от QWidget и от того что в ui-файле mymonitor.h
mymonitor.cpp
Все. Это должно компилится и к этому более не возвращаемся, вся прочая работа по подключению к модели ведется в конструкторе MyMonitor. Далее мои действия были бы такими: 3) Продумывание способа хранения данных. 4) Создание модели 5) Подключение ее к представлению, как указано выше. ------ Теперь вопрос, откуда идея: "класс иерархической структуры - за счет использования QHash"? Т.е. почему такой способ хранения данных? Откуда берутся данные? |
|
|
Гость_Гость_Delphist_*_* |
17.8.2008, 15:32
Сообщение
#13
|
Гости |
Теперь вопрос, откуда идея: "класс иерархической структуры - за счет использования QHash"? Т.е. почему такой способ хранения данных? Откуда берутся данные? В моем примере MyMonitor.zip (который здесь представлен) все подробно показано как заполняется класс иерархической структуры, затем показано как этот класс используется в моей модели, и мой вопрос звучал так: почему не отображается rootNoode, нормальный ответ должен звучать приблизина так Delphist у тебя там то там то есть ошибка, если же у меня все правильно, то сказать причину по которой не выводится rootNode. Вот и все. А заниматься демагогией можно бесконечно долго ток вопроса это не решает. Поэтому, большая просьба, давать ответы по сути, а не спрашивать "откуда идея: "класс иерархической структуры - за счет использования QHash", почему такой способ хранения. Так и хочется сказать по качену, но сдержусь и отвечу, есть проект который разрабатывал не я, есть тех. зад. которое диктует мне руководство, а я всего лишь программист, и должен писать в том фундаменте который был создан без меня. и класс указанный в my.cpp он уже существует очень давно, и менять QHash на QList из-за меня не будет. Вот так вот. |
|
|
Текстовая версия | Сейчас: 3.1.2025, 19:27 |