Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Создание форм
Форум на CrossPlatform.RU > Библиотеки > Qt > Qt Script. Интеграция WebKit
ht1515
Всем привет!
Есть ПО, в нем всегда изменяющаяся часть - формы гуи.
Хочу сделать что-то типо ядра ПО и формы рисовать через кутескрипт. Это Реально?
Также кутескрипт должен будет вызвать методы классов из кода... выполнять какие-то действия...
lanz
Реально, но мне не очень понравилось.
-1. Если используете какой-либо скриптовый язык, делайте лучше программу в форме расширенного интерпретатора языка, а не в виде программы, которая исполняет куски кода через eval, так будет гораздо удобнее.
0. Рисовать формы все равно придется кодом qscript, не проще ли в дизайнере? Сделайте нужные компоненты для дизайнера и пользуйтесь.
1. qscript хорош в связке с QML, если ваши формы динамические, используйте QML.
2. или возьмите PySide или любой другой биндинг.
ht1515
0. Пример калькулятора?
1. Надо будет изучить...
2. Ничего не знаю про это
lanz
Цитата
0. Пример калькулятора?

Никто не мешает совмещать рисование форм и процедурную генерацию элементов, вообще если формы сложные/сильно нестандартные лучше использовать QML.
Цитата
1. Надо будет изучить...

Там тот же ECMAScript, довольно просто все.
Цитата
2. Ничего не знаю про это

А вот это зря :lol:
ht1515
а что все таки лучше для моего случая?
Опишу задачу свою подробней. У меня есть некое ПО (каркас ), к нему подключаются dllки(модули, которые соединяются с каркасом,через интерфейс).
Мне надо чтобы я сделал например форму, в которой, мы были кнопки, нажимая на которые я бы мог вызывать функции этих модулей, текстовые поля, в которых по сути выводилась бы какая-то инфа с этих модулей.
то есть я хочу произвести некое разделение по написанию кода. То есть 1 программист пишет каркас, другие модули, третьи стряпают формы, которые бы управляли модулями.
Почему я бы хотел в скрипты выделить эти формы. Почему?

Просто те формы, которые получатся через скрипты, должны содержать в себе виджеты разных модулей. Кстати это возможно? то есть модуль предоставляет каркасу виджеты. Эти виджеты в формах сделанных скриптовым языком можно будет отобразить?

Кстати я всю гуи пишу без дизайнер, для справки, все в коде, не qml.

Ну так вот. форма, нарисованная скриптом будет содержать N виджетов моделей и набор специализированных элементов(кнопок например), которые будут выполнять операции с этими модулями(например дергать функцию из 1 модуля а потом функцию из второго).

Вот такая вот идея.

Если мне это удастся сделать, значит я смогу сделать стабильный каркас и его не надо будет каждый раз переделывать, специализирую под конкретный набор модулей(то есть формы работы с модулями сейчас пишу прямо в каркасе, что не есть очень хорошо). Я хочу избавится от рутины описывать эти формы в коде и перенести это на скрипты.

Надеюсь понятно объяснил :)
lanz
Понятно конечно, я сам пару лет назад сделал такую систему, да и не я один думаю :lol:
http://en.wikipedia.org/wiki/Inner-platform_effect

А что будет в стабильном каркасе?
Будет возможность добавить виджет?
Сделать лэйаут?
Добавить сплиттер?
Показать диалог?
Перехватить событие закрытия главного окна?
Вернуть данные из диалога?
Обнаружить и установить связь с другим модулем?
Передать данные между модулями?
В итоге придется большую часть С++ функциональности обернуть в обертки, интерфейсы - лишний код.

И в итоге все равно ничего не получится, когда появится новый модуль, окажется что ему надо отслеживать нажатия клавиатуры - переделка каркаса,
потом модуль который будет выводить графику через OpenGL - опять переделка.

Все что вы перечислили есть в Qt. Система плагинов, ui-файлы с их загрузкой, генерация форм из кода. Не нравится писать на C++, есть биндинги для других языков.

Цитата
Я хочу избавится от рутины описывать эти формы в коде и перенести это на скрипты

В скриптах это будет та же самая рутина, просто передвигаете работу туда-сюда. Суммарная работа не измненится.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Форум IP.Board © 2001-2024 IPS, Inc.