Название: qml для работы с базой данных Отправлено: nono от Январь 10, 2014, 21:07 Добрый вечер!!!
Вопрос следующий. Возможно ли на разработать приложение по работе с базой данных с интерфейсом qml, чтоб можно было работать с qsqltablemodel qsqlquerymodel и на сколько это корректно??? Название: Re: qml для работы с базой данных Отправлено: Alex Custov от Январь 10, 2014, 22:26 делай модели на С++ и через setContextProperty экспортируй их в QML. В QML эту модель ставишь на нужное тебе view.
Название: Re: qml для работы с базой данных Отправлено: nono от Январь 10, 2014, 23:19 делай модели на С++ и через setContextProperty экспортируй их в QML. В QML эту модель ставишь на нужное тебе view. Тогда можно подсказать как передать в qml файл модель QSqlQueryModel и QSqlTableModel ????Просто у меня большая база и есть таблицы у которых около 100 столбцов. Все что я накопал в google это только qml и listmodel либо перегрузка абстрактных классов и задание в них ролей.... только с моими таблицами по моему это будет геморройно. Название: Re: qml для работы с базой данных Отправлено: Alex Custov от Январь 11, 2014, 14:39 Тогда можно подсказать как передать в qml файл модель QSqlQueryModel и QSqlTableModel ???? Я же написал как. http://qt-project.org/doc/qt-5.1/qtqml/qtqml-cppintegration-contextproperties.html Все что я накопал в google это только qml и listmodel либо перегрузка абстрактных классов и задание в них ролей.... только с моими таблицами по моему это будет геморройно. Несмотря на слово "Quick", слово "геморройно" подходит больше. Это слово будет сопутствовать вам весь цикл разработки на QML. Название: Re: qml для работы с базой данных Отправлено: kibsoft от Январь 11, 2014, 18:12 Несмотря на слово "Quick", слово "геморройно" подходит больше. Это слово будет сопутствовать вам весь цикл разработки на QML. Qt Quick - это Qt UI Creation Kit. Так что Quick не совсем означает то, что вы думаете.Но могу сказать, что UI делается действительно быстро. Траблы есть, но не слишком уж гемморойные. Название: Re: qml для работы с базой данных Отправлено: Old от Январь 11, 2014, 19:20 Но могу сказать, что UI делается действительно быстро. Траблы есть, но не слишком уж гемморойные. Хочу добавить, если не пытаться на QML делать десктопные программы, то гемморой не очень большой. :)Название: Re: qml для работы с базой данных Отправлено: Alex Custov от Январь 11, 2014, 19:37 Qt Quick - это Qt UI Creation Kit. Так что Quick не совсем означает то, что вы думаете. Это обыкновенная чехарда со словами, которая несёт двойной смысл. Наподобие SPECIAL в Fallout. Я уверен на 100%, что основной смысл здесь - Quick, а расшифровку уже подгоняли. Хочу добавить, если не пытаться на QML делать десктопные программы, то гемморой не очень большой. :) Однако политика партии другая, хоть пока и неофициально (http://blog.qt.digia.com/blog/2012/04/18/qt-5-c-and-qt-widgets). И это создаёт ложное впечатление, что на этой технологии можно написать всё без привлечения С++. Название: Re: qml для работы с базой данных Отправлено: nono от Январь 12, 2014, 18:14 Хочу добавить, если не пытаться на QML делать десктопные программы, то гемморой не очень большой. :) То есть для десктопных приложений лучше все-таки отказаться от qml??? Я на каком-то форуме читал, что Qt потихоньку отказывается от widget-ов и переходит на qml, собственно почему я и поднял этот вопрос. Пишу на Qt достаточно давно, но с qml как то не заморачивался. Но программки делаю пока только для компов.Название: Re: qml для работы с базой данных Отправлено: Alex Custov от Январь 12, 2014, 18:41 То есть для десктопных приложений лучше все-таки отказаться от qml??? Я на каком-то форуме читал, что Qt потихоньку отказывается от widget-ов и переходит на qml Это миф, появившейся из статьи Нолла что я дал выше. На QML нельзя перейти банально потому, что там нет и 20% возможностей Qt/C++. Вы будете вынуждены писать чудовищный спагетти-код, когда управление будет непрерывно скакать из C++ в QML и назад. Под кажущейся простотой синтаксиса и красотой идеи лежит крайне малофункциональный движок, который рушит всю красоту. Возможно, в Qt6 будет что-то похожее на правду, посмотрим. Название: Re: qml для работы с базой данных Отправлено: Old от Январь 12, 2014, 18:48 То есть для десктопных приложений лучше все-таки отказаться от qml??? Однозначно.QML хорош когда вам, скажем, для игрушки понадобиться добавить выезжающие кнопочки/панельки в разных местах, да с поддержкой анимации, спецэффектов и всяких плюшек. А widgets еще QML переживет. :) Название: Re: qml для работы с базой данных Отправлено: Alex Custov от Январь 12, 2014, 21:22 QML хорош когда вам, скажем, для игрушки понадобиться добавить выезжающие кнопочки/панельки в разных местах, да с поддержкой анимации, спецэффектов и всяких плюшек. Самое интересное, что это тоже миф - есть же animation framework, просто в QML анимации не нужно программировать. Название: Re: qml для работы с базой данных Отправлено: Old от Январь 12, 2014, 21:53 Самое интересное, что это тоже миф - есть же animation framework, просто в QML анимации не нужно программировать. Ну да, в этом и смысл, что все анимации и состояния задаются очень просто и легко. Об этом и речь, а внутри крутиться animation framework.Название: Re: qml для работы с базой данных Отправлено: nono от Январь 14, 2014, 00:56 Всем спасибо! Разъяснили!!!
Пока буду использовать виджеты и потихоньку осваивать qml...как раз к тому времени как и разберусь в нем - qml повзрослеет)))) Название: Re: qml для работы с базой данных Отправлено: twp от Январь 14, 2014, 01:59 А чего ждать? Он уже сейчас вполне юзабельный. А на счет анимации, так в 5.2 ввели новый граф сцены и новый QML элемент Animator, который оперирует напрямую с графом сцены в его же потоке, а не главном потоке приложения, как это работает со стандартными виджетами. Ну и есть QtQuick Controls - типа аналога виджетов для QML. B общем если есть намерение в будущем разрабатывать под мобильные платформы (да и не только), то пора бы изучать QML. Стандартные виджеты также можно использовать на мобильных платформах, но приложения будут выглядеть черезчур статически. И придется немало потрудиться, чтоб приложение "ожило". Т.е. вместо того чтоб работать над логикой приложения, придется много времени уделять допиливанию UI.
Название: Re: qml для работы с базой данных Отправлено: nono от Январь 25, 2014, 22:52 http://qt-project.org/wiki/How_to_use_a_QSqlQueryModel_in_QML (http://qt-project.org/wiki/How_to_use_a_QSqlQueryModel_in_QML) - в этом примере, в реализации конструктора унаследованного от QSqlQueryModel классе, вызывается метод setRoleNames(). У меня Qt5.2 и данного метода в этом классе нет. Как можно решить данную проблему???
Название: Re: qml для работы с базой данных Отправлено: Alex Custov от Январь 25, 2014, 23:03 в этом примере, в реализации конструктора унаследованного от QSqlQueryModel классе, вызывается метод setRoleNames(). У меня Qt5.2 и данного метода в этом классе нет. Как можно решить данную проблему??? переопределить roleNames(). http://qt-project.org/doc/qt-5.1/qtcore/qabstractitemmodel.html Название: Re: qml для работы с базой данных Отправлено: nono от Январь 26, 2014, 01:45 Где можно найти пример модель (qt) представление (qml) для qt 5, чтобы пример был простой, а главное работал???
В нете полно всякой ерунды. Все примеры усложненные и не фига не работающие. Выпендрица хотят что ли. Нужен просто "Простой пример", вот класс от QSqlTableModel(два поля, две записи) вот qml-представление. P.S. Усложненными я имею виду, что воплощаю свою гениальную идею, разработчик примера уводит далеко от сути т.е. пример: " Я покажу вам как сделать модель на qt и запихнуть его в qml на примере в котором будет использоваться фигово туча всяких других прибамбасов, да еще модель будет очень не стандартная, а все выложенные исходники не будут работать. Простым примером можно назвать http://qt-project.org/wiki/How_to_use_a_QSqlQueryModel_in_QML , но только это под qt5 не работает. а так как я в qml вообще новичок, то уже полночи сижу и разобраться не могу. Название: Re: qml для работы с базой данных Отправлено: nono от Январь 26, 2014, 16:13 Все. Вроде разобрался.
Название: Re: qml для работы с базой данных Отправлено: kaass от Февраль 11, 2014, 16:30 Все. Вроде разобрался. И что же у вас получилось? |