crossplatform.ru

Здравствуйте, гость ( Вход | Регистрация )

 
Ответить в данную темуНачать новую тему
> Создание форм
ht1515
  опции профиля:
сообщение 16.1.2015, 17:45
Сообщение #1


Студент
*

Группа: Участник
Сообщений: 29
Регистрация: 14.4.2012
Пользователь №: 3324

Спасибо сказали: 0 раз(а)




Репутация:   0  


Всем привет!
Есть ПО, в нем всегда изменяющаяся часть - формы гуи.
Хочу сделать что-то типо ядра ПО и формы рисовать через кутескрипт. Это Реально?
Также кутескрипт должен будет вызвать методы классов из кода... выполнять какие-то действия...
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
lanz
  опции профиля:
сообщение 16.1.2015, 19:19
Сообщение #2


Старейший участник
****

Группа: Участник
Сообщений: 690
Регистрация: 28.12.2012
Пользователь №: 3660

Спасибо сказали: 113 раз(а)




Репутация:   8  


Реально, но мне не очень понравилось.
-1. Если используете какой-либо скриптовый язык, делайте лучше программу в форме расширенного интерпретатора языка, а не в виде программы, которая исполняет куски кода через eval, так будет гораздо удобнее.
0. Рисовать формы все равно придется кодом qscript, не проще ли в дизайнере? Сделайте нужные компоненты для дизайнера и пользуйтесь.
1. qscript хорош в связке с QML, если ваши формы динамические, используйте QML.
2. или возьмите PySide или любой другой биндинг.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
ht1515
  опции профиля:
сообщение 16.1.2015, 20:00
Сообщение #3


Студент
*

Группа: Участник
Сообщений: 29
Регистрация: 14.4.2012
Пользователь №: 3324

Спасибо сказали: 0 раз(а)




Репутация:   0  


0. Пример калькулятора?
1. Надо будет изучить...
2. Ничего не знаю про это
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
lanz
  опции профиля:
сообщение 16.1.2015, 20:07
Сообщение #4


Старейший участник
****

Группа: Участник
Сообщений: 690
Регистрация: 28.12.2012
Пользователь №: 3660

Спасибо сказали: 113 раз(а)




Репутация:   8  


Цитата
0. Пример калькулятора?

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

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

А вот это зря :lol:
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
ht1515
  опции профиля:
сообщение 16.1.2015, 21:35
Сообщение #5


Студент
*

Группа: Участник
Сообщений: 29
Регистрация: 14.4.2012
Пользователь №: 3324

Спасибо сказали: 0 раз(а)




Репутация:   0  


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

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

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

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

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

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

Надеюсь понятно объяснил :)
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
lanz
  опции профиля:
сообщение 17.1.2015, 2:27
Сообщение #6


Старейший участник
****

Группа: Участник
Сообщений: 690
Регистрация: 28.12.2012
Пользователь №: 3660

Спасибо сказали: 113 раз(а)




Репутация:   8  


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

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

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

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

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

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

Быстрый ответОтветить в данную темуНачать новую тему
Теги
Нет тегов для показа


1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0




RSS Текстовая версия Сейчас: 29.3.2024, 0:36