Russian Qt Forum
Май 04, 2024, 19:06 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1] 2   Вниз
  Печать  
Автор Тема: Редакируемая TreeViewModel из БД  (Прочитано 10618 раз)
RedDog
Гость
« : Март 05, 2015, 13:38 »

Давно планировал реализовать на Qt редактируемую модель тривьюхи.
Наконец то предоставилась возможность без отрыва от производства наваять.
Реализованы основные действия с БД,
Алгоритм составления дерева из БД однопроходный, 1млн записей (узлов дерева) строит у меня за 4.5-5 сек.
Ссылка на тестовую БД: https://yadi.sk/d/K7fFLt3qf5a6o

Конструктивная критика принимается.
« Последнее редактирование: Март 06, 2015, 14:11 от RedDog » Записан
maint
Гость
« Ответ #1 : Март 05, 2015, 14:12 »

ну и чего это за фигня? rpc_defs.h  нет в logic.cpp ошибка при сборке. Если в все остальное такое же, то в топку
Записан
RedDog
Гость
« Ответ #2 : Март 05, 2015, 14:22 »

ну и чего это за фигня? rpc_defs.h  нет в logic.cpp ошибка при сборке. Если в все остальное такое же, то в топку
Поправил. Ну в топку так в топку, делай сам.
Записан
Bepec
Гость
« Ответ #3 : Март 05, 2015, 14:53 »

Первая и видимо последняя критика от меня - CMake и отсутствие pro файла Улыбающийся
Записан
RedDog
Гость
« Ответ #4 : Март 05, 2015, 14:59 »

Первая и видимо последняя критика от меня - CMake и отсутствие pro файла Улыбающийся
Наш корпоративный дух заставляет меня юзать СМаке и отказаться от *.про
Повторюсь: выдрал вьюху из рабочего проекта, посему могут быть косяки с лишними заголовочниками или определениями.
В этом смысле прошу не судить строго.
Записан
Bepec
Гость
« Ответ #5 : Март 05, 2015, 15:08 »

Ну сам посуди - я её ни скомпилировать не могу, ни запустить без изучения cmake Улыбающийся

PS если уж решил выложить на суд решение, уж изволь хоть pro файл сгенерировать Улыбающийся Тут жеж не твоя корпорация Веселый
Записан
Пантер
Administrator
Джедай : наставник для всех
*****
Offline Offline

Сообщений: 5876


Жаждущий знаний


Просмотр профиля WWW
« Ответ #6 : Март 05, 2015, 15:57 »

Ну сам посуди - я её ни скомпилировать не могу, ни запустить без изучения cmake Улыбающийся

PS если уж решил выложить на суд решение, уж изволь хоть pro файл сгенерировать Улыбающийся Тут жеж не твоя корпорация Веселый
А что там изучать в ентом CMake? Да и полезно это, изучать. CMake вообще няшка.
Записан

1. Qt - Qt Development Frameworks; QT - QuickTime
2. Не используйте в исходниках символы кириллицы!!!
3. Пользуйтесь тегом code при оформлении сообщений.
gil9red
Administrator
Джедай : наставник для всех
*****
Offline Offline

Сообщений: 1805



Просмотр профиля WWW
« Ответ #7 : Март 05, 2015, 16:09 »

Ну сам посуди - я её ни скомпилировать не могу, ни запустить без изучения cmake Улыбающийся

PS если уж решил выложить на суд решение, уж изволь хоть pro файл сгенерировать Улыбающийся Тут жеж не твоя корпорация Веселый
А что там изучать в ентом CMake? Да и полезно это, изучать. CMake вообще няшка.

Если ради любопытства захочется посмотреть, то оно пропадет от перспективы разбираться с непонятной CMake Улыбающийся
Записан

Old
Джедай : наставник для всех
*******
Online Online

Сообщений: 4349



Просмотр профиля
« Ответ #8 : Март 05, 2015, 16:37 »

Конструктивная критика принимается.
Вы не правильно готовите QSqlDatabase. Улыбающийся
Не нужно нигде хранить объекты QSqlDatabase, вы в любой момент его можете получить вызвав QSqlDatabase::database().
По сути объект QSqlDatabase - легкий объект, аналогичный вашему QSharedPointer<QSqlDatabase>.
Плюс, этот класс сам является менеджером подключений. Их может быть много и он сам позволяет получать нужный.
Записан
RedDog
Гость
« Ответ #9 : Март 05, 2015, 16:48 »

По сути объект QSqlDatabase - легкий объект, аналогичный вашему QSharedPointer<QSqlDatabase>.
Данным "извратам", меня научила разработка под асусовский роутер, имеющий 100мб оперативки, и с запущенным на нем постгресом и еще 3-мя моими отнюдь не легкими бинарниками.
В общем проект ушел, а привычка осталась.
PS: по теме ТриВьюхи есть какие замечания/соображения? Может упустил чего?
Записан
RedDog
Гость
« Ответ #10 : Март 05, 2015, 16:49 »

Ну сам посуди - я её ни скомпилировать не могу, ни запустить без изучения cmake Улыбающийся

PS если уж решил выложить на суд решение, уж изволь хоть pro файл сгенерировать Улыбающийся Тут жеж не твоя корпорация Веселый
Не надо Смаке изучать, креатор сам умеет открывать такие проекты (только надо сам Смаке поставить).
Записан
Bepec
Гость
« Ответ #11 : Март 05, 2015, 19:34 »

Вот вот херню няшную надо поставить, скачать, изучить, скрестить с креатором и потом посмотреть ради интереса Веселый

PS слишком много усилий ради праздного интереса Улыбающийся
Записан
Old
Джедай : наставник для всех
*******
Online Online

Сообщений: 4349



Просмотр профиля
« Ответ #12 : Март 05, 2015, 19:42 »

Вот вот херню няшную надо поставить, скачать, изучить, скрестить с креатором и потом посмотреть ради интереса Веселый

PS слишком много усилий ради праздного интереса Улыбающийся
А вас кто-то просит посмотреть?
Записан
Bepec
Гость
« Ответ #13 : Март 05, 2015, 19:48 »

Цитировать
PS слишком много усилий ради праздного интереса
Записан
RedDog
Гость
« Ответ #14 : Март 06, 2015, 14:11 »

По просьбам трудящихся перевел в *.про.
Добавил новые "фичи"
- каскадное удаление из БД
- несколько колонок в ТриВьюхе (до этого только одна была доступна)
- возможность установки дефолтных значений для заданных полей, при добавлении новой записи (и соответственно, узла)
БД для теста: https://yadi.sk/d/K7fFLt3qf5a6o
Записан
Страниц: [1] 2   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.123 секунд. Запросов: 23.