Название: Qt Script and XML Отправлено: Nimbus от Март 02, 2010, 19:30 Всем доброго времени суток.
В Qt я чайник. Так что, прошу не посылать лесом, а всё доходчиво объяснить. С основными принципами знаком, а вот с расширенными разными фичами как-то не особо. Вот загорелся желанием сделать движок БД Oracle на Qt. (прикручено к visual studio 2008 со скомпиленными дровами для Оракла, так что, проблем взаимодействия с Бд не наблюдаю). Но уж очень хочется сделать приложение гибким и стабильным. Чтобы при любых изменениях/добавлениях не пришлось пересобирать приложение и потом обновлять всем сотрудникам организации. Посетила идея, что необходимо интерфейс клиентской части описать через XML (ну да, можно и .ui, но тут дело такое...), то есть расположение виджетов в диалоге и некоторые ихние атрибуты, а бизнес-логику организовать через Qt Script'ы. Например, на сервере в одной папке лежат XML-файл и файл с Qt Script'ом. Клиент цепляется к серверу, загружает XML-файл, в котором, в самом начале указана ссылка на наш файл со скриптом. Далее указаны виджеты, их расположение в каком-либо лейауте, текст, а так же (самое главное) обработчик события, который находится в скрипте. Вот самый банальный пример из головы. Код: <?xml version="1.0" encoding="utf-8"?> Возможно ли это? При учёте, что в скрипте должны быть доступны все виджеты диалога (ну их вроде можно назначить движку скрипта как глобальные объекты при парсинге XML-документа). То есть должен получиться такой, скажем так, браузер, которому нужно указать лишь пути к xml-документам и приложение можно будет расширять, создавая лишь эти документы и скрипты. Если можно, то лучше всего приведите пример, пожалуйста. Название: Re: Qt Script and XML Отправлено: break от Март 02, 2010, 20:18 Возможно.
А не проще в скрипт протянуть QWidget загрузить его из ui нарисованного дизайнером и работать со всеми доступными методами? Зачем свой формат? В документации на скрипт есть пример протаскивания в скрипт наследника QObject - аналогично QWidegt т.к. он тоже его наследник. Название: Re: Qt Script and XML Отправлено: asvil от Март 03, 2010, 00:13 qt script bindings позволит затащить все или почти все без или почти без багов в qt script.
Это значит что на qt script можно будет рисовать так же как на c++. а что значит бизнес-логика? Название: Re: Qt Script and XML Отправлено: Nimbus от Март 03, 2010, 04:43 а что значит бизнес-логика? Как-то так (http://ru.wikipedia.org/wiki/%D0%91%D0%B8%D0%B7%D0%BD%D0%B5%D1%81-%D0%BB%D0%BE%D0%B3%D0%B8%D0%BA%D0%B0)Аиэта... То, что ui можно будет использовать - замечательно :) А пример можно простого приложения, которое загружает ui из файла и тащит все виджеты интерфейса в скрипт, тоже находящийся во внешнем файле? Так же желательно, чтобы обработчики событий/слоты тоже находились в файле со скриптом, это самое важное. Название: Re: Qt Script and XML Отправлено: asvil от Март 03, 2010, 09:29 начиная отсюда
http://labs.trolltech.com/page/Projects/QtScript/Generator (http://labs.trolltech.com/page/Projects/QtScript/Generator) generator предоставляет QUiLoader. Заканчиваем ассистентом, который рассказывает как использовать слоты. qthelp://com.trolltech.qt.460/qdoc/scripting.html Бизнес логику возможно легче реализовать на стороне sql сервера? В виде триггеров, хранимых функций. Название: Re: Qt Script and XML Отправлено: Nimbus от Март 03, 2010, 10:09 начиная отсюда Спасибо за линки, добрый человек. Не всё возможно реализовать одними лишь триггерами ;) Всё таки генерация текста запросов происходит на стороне клиента, а это уже к этому относится.http://labs.trolltech.com/page/Projects/QtScript/Generator (http://labs.trolltech.com/page/Projects/QtScript/Generator) generator предоставляет QUiLoader. Заканчиваем ассистентом, который рассказывает как использовать слоты. qthelp://com.trolltech.qt.460/qdoc/scripting.html Бизнес логику возможно легче реализовать на стороне sql сервера? В виде триггеров, хранимых функций. |