Russian Qt Forum
Ноябрь 23, 2024, 11:29
Добро пожаловать,
Гость
. Пожалуйста,
войдите
или
зарегистрируйтесь
.
Вам не пришло
письмо с кодом активации?
1 час
1 день
1 неделя
1 месяц
Навсегда
Войти
Начало
Форум
WIKI (Вики)
FAQ
Помощь
Поиск
Войти
Регистрация
Russian Qt Forum
>
Forum
>
Qt
>
Qt Quick
(Модератор:
navrocky
) >
qml для работы с базой данных
Страниц: [
1
]
2
Вниз
« предыдущая тема
следующая тема »
Печать
Автор
Тема: qml для работы с базой данных (Прочитано 13530 раз)
nono
Гость
qml для работы с базой данных
«
:
Январь 10, 2014, 21:07 »
Добрый вечер!!!
Вопрос следующий.
Возможно ли на разработать приложение по работе с базой данных с интерфейсом qml, чтоб можно было работать с qsqltablemodel qsqlquerymodel и на сколько это корректно???
Записан
Alex Custov
Джедай : наставник для всех
Offline
Сообщений: 2063
Re: qml для работы с базой данных
«
Ответ #1 :
Январь 10, 2014, 22:26 »
делай модели на С++ и через setContextProperty экспортируй их в QML. В QML эту модель ставишь на нужное тебе view.
Записан
nono
Гость
Re: qml для работы с базой данных
«
Ответ #2 :
Январь 10, 2014, 23:19 »
Цитата: Alex Custov от Январь 10, 2014, 22:26
делай модели на С++ и через setContextProperty экспортируй их в QML. В QML эту модель ставишь на нужное тебе view.
Тогда можно подсказать как передать в qml файл модель QSqlQueryModel и QSqlTableModel
?
Просто у меня большая база и есть таблицы у которых около 100 столбцов. Все что я накопал в google это только qml и listmodel либо перегрузка абстрактных классов и задание в них ролей.... только с моими таблицами по моему это будет геморройно.
Записан
Alex Custov
Джедай : наставник для всех
Offline
Сообщений: 2063
Re: qml для работы с базой данных
«
Ответ #3 :
Январь 11, 2014, 14:39 »
Цитата: nono от Январь 10, 2014, 23:19
Тогда можно подсказать как передать в qml файл модель QSqlQueryModel и QSqlTableModel
?
Я же написал как.
http://qt-project.org/doc/qt-5.1/qtqml/qtqml-cppintegration-contextproperties.html
Цитата: nono от Январь 10, 2014, 23:19
Все что я накопал в google это только qml и listmodel либо перегрузка абстрактных классов и задание в них ролей.... только с моими таблицами по моему это будет геморройно.
Несмотря на слово "Quick", слово "геморройно" подходит больше. Это слово будет сопутствовать вам весь цикл разработки на QML.
Записан
kibsoft
Хакер
Offline
Сообщений: 625
Re: qml для работы с базой данных
«
Ответ #4 :
Январь 11, 2014, 18:12 »
Цитата: Alex Custov от Январь 11, 2014, 14:39
Несмотря на слово "Quick", слово "геморройно" подходит больше. Это слово будет сопутствовать вам весь цикл разработки на QML.
Qt Quick - это Qt UI Creation Kit. Так что Quick не совсем означает то, что вы думаете.
Но могу сказать, что UI делается действительно быстро. Траблы есть, но не слишком уж гемморойные.
Записан
http://kibsoft.ru
- Download the Qt Media Encoding Library here
The apps that were written using QtMEL:
http://srecorder.com
- Screen recording software
Old
Джедай : наставник для всех
Offline
Сообщений: 4350
Re: qml для работы с базой данных
«
Ответ #5 :
Январь 11, 2014, 19:20 »
Цитата: kibsoft от Январь 11, 2014, 18:12
Но могу сказать, что UI делается действительно быстро. Траблы есть, но не слишком уж гемморойные.
Хочу добавить, если не пытаться на QML делать десктопные программы, то гемморой не очень большой.
Записан
Alex Custov
Джедай : наставник для всех
Offline
Сообщений: 2063
Re: qml для работы с базой данных
«
Ответ #6 :
Январь 11, 2014, 19:37 »
Цитата: kibsoft от Январь 11, 2014, 18:12
Qt Quick - это Qt UI Creation Kit. Так что Quick не совсем означает то, что вы думаете.
Это обыкновенная чехарда со словами, которая несёт двойной смысл. Наподобие SPECIAL в Fallout. Я уверен на 100%, что основной смысл здесь - Quick, а расшифровку уже подгоняли.
Цитата: Old от Январь 11, 2014, 19:20
Хочу добавить, если не пытаться на QML делать десктопные программы, то гемморой не очень большой.
Однако политика партии другая, хоть пока и неофициально (
http://blog.qt.digia.com/blog/2012/04/18/qt-5-c-and-qt-widgets
). И это создаёт ложное впечатление, что на этой технологии можно написать всё без привлечения С++.
«
Последнее редактирование: Январь 11, 2014, 19:42 от Alex Custov
»
Записан
nono
Гость
Re: qml для работы с базой данных
«
Ответ #7 :
Январь 12, 2014, 18:14 »
Цитата: Old от Январь 11, 2014, 19:20
Хочу добавить, если не пытаться на QML делать десктопные программы, то гемморой не очень большой.
То есть для десктопных приложений лучше все-таки отказаться от qml??? Я на каком-то форуме читал, что Qt потихоньку отказывается от widget-ов и переходит на qml, собственно почему я и поднял этот вопрос. Пишу на Qt достаточно давно, но с qml как то не заморачивался. Но программки делаю пока только для компов.
Записан
Alex Custov
Джедай : наставник для всех
Offline
Сообщений: 2063
Re: qml для работы с базой данных
«
Ответ #8 :
Январь 12, 2014, 18:41 »
Цитата: nono от Январь 12, 2014, 18:14
То есть для десктопных приложений лучше все-таки отказаться от qml??? Я на каком-то форуме читал, что Qt потихоньку отказывается от widget-ов и переходит на qml
Это миф, появившейся из статьи Нолла что я дал выше. На QML нельзя перейти банально потому, что там нет и 20% возможностей Qt/C++. Вы будете вынуждены писать чудовищный спагетти-код, когда управление будет непрерывно скакать из C++ в QML и назад. Под кажущейся простотой синтаксиса и красотой идеи лежит крайне малофункциональный движок, который рушит всю красоту. Возможно, в Qt6 будет что-то похожее на правду, посмотрим.
Записан
Old
Джедай : наставник для всех
Offline
Сообщений: 4350
Re: qml для работы с базой данных
«
Ответ #9 :
Январь 12, 2014, 18:48 »
Цитата: nono от Январь 12, 2014, 18:14
То есть для десктопных приложений лучше все-таки отказаться от qml???
Однозначно.
QML хорош когда вам, скажем, для игрушки понадобиться добавить выезжающие кнопочки/панельки в разных местах, да с поддержкой анимации, спецэффектов и всяких плюшек.
А widgets еще QML переживет.
Записан
Alex Custov
Джедай : наставник для всех
Offline
Сообщений: 2063
Re: qml для работы с базой данных
«
Ответ #10 :
Январь 12, 2014, 21:22 »
Цитата: Old от Январь 12, 2014, 18:48
QML хорош когда вам, скажем, для игрушки понадобиться добавить выезжающие кнопочки/панельки в разных местах, да с поддержкой анимации, спецэффектов и всяких плюшек.
Самое интересное, что это тоже миф - есть же animation framework, просто в QML анимации не нужно программировать.
Записан
Old
Джедай : наставник для всех
Offline
Сообщений: 4350
Re: qml для работы с базой данных
«
Ответ #11 :
Январь 12, 2014, 21:53 »
Цитата: Alex Custov от Январь 12, 2014, 21:22
Самое интересное, что это тоже миф - есть же animation framework, просто в QML анимации не нужно программировать.
Ну да, в этом и смысл, что все анимации и состояния задаются очень просто и легко. Об этом и речь, а внутри крутиться animation framework.
Записан
nono
Гость
Re: qml для работы с базой данных
«
Ответ #12 :
Январь 14, 2014, 00:56 »
Всем спасибо! Разъяснили!!!
Пока буду использовать виджеты и потихоньку осваивать qml...как раз к тому времени как и разберусь в нем - qml повзрослеет))))
Записан
twp
Гость
Re: qml для работы с базой данных
«
Ответ #13 :
Январь 14, 2014, 01:59 »
А чего ждать? Он уже сейчас вполне юзабельный. А на счет анимации, так в 5.2 ввели новый граф сцены и новый QML элемент Animator, который оперирует напрямую с графом сцены в его же потоке, а не главном потоке приложения, как это работает со стандартными виджетами. Ну и есть QtQuick Controls - типа аналога виджетов для QML. B общем если есть намерение в будущем разрабатывать под мобильные платформы (да и не только), то пора бы изучать QML. Стандартные виджеты также можно использовать на мобильных платформах, но приложения будут выглядеть черезчур статически. И придется немало потрудиться, чтоб приложение "ожило". Т.е. вместо того чтоб работать над логикой приложения, придется много времени уделять допиливанию UI.
Записан
nono
Гость
Re: qml для работы с базой данных
«
Ответ #14 :
Январь 25, 2014, 22:52 »
http://qt-project.org/wiki/How_to_use_a_QSqlQueryModel_in_QML
- в этом примере, в реализации конструктора унаследованного от QSqlQueryModel классе, вызывается метод setRoleNames(). У меня Qt5.2 и данного метода в этом классе нет. Как можно решить данную проблему???
Записан
Страниц: [
1
]
2
Вверх
Печать
« предыдущая тема
следующая тема »
Перейти в:
Пожалуйста, выберите назначение:
-----------------------------
Qt
-----------------------------
=> Вопросы новичков
=> Уроки и статьи
=> Установка, сборка, отладка, тестирование
=> Общие вопросы
=> Пользовательский интерфейс (GUI)
=> Qt Quick
=> Model-View (MV)
=> Базы данных
=> Работа с сетью
=> Многопоточное программирование, процессы
=> Мультимедиа
=> 2D и 3D графика
=> OpenGL
=> Печать
=> Интернационализация, локализация
=> QSS
=> XML
=> Qt Script, QtWebKit
=> ActiveX
=> Qt Embedded
=> Дополнительные компоненты
=> Кладовая готовых решений
=> Вклад сообщества в Qt
=> Qt-инструментарий
-----------------------------
Программирование
-----------------------------
=> Общий
=> С/C++
=> Python
=> Алгоритмы
=> Базы данных
=> Разработка игр
-----------------------------
Компиляторы и платформы
-----------------------------
=> Linux
=> Windows
=> Mac OS X
=> Компиляторы
===> Visual C++
-----------------------------
Разное
-----------------------------
=> Новости
===> Новости Qt сообщества
===> Новости IT сферы
=> Говорилка
=> Юмор
=> Объявления
Загружается...