crossplatform.ru

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

> QML без GUI. Переход с Qt Script на QML
MishaUA
  опции профиля:
сообщение 20.9.2015, 11:36
Сообщение #1


Участник
**

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

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




Репутация:   0  


Доброго времени суток!
Моя программа имеет возможность подключения скриптов через Qt Script. Скрипту передается некий объект проги (который от QObject) и он им может манипулировать, так же, сама прога может вызывать функции скрипта через QScriptEngine->globalObject().property("function").call().
В последнем обновлении (Qt 5.5) модуль Qt Script объявлен устаревшим и рекомендуется переход на QML, поэтому и я задался вопросом о переходе, да и возможностей в QML побольше.
Сколько видел примеров QML в инете, то все они ориентированы на GUI. А возможно ли использовать QML без GUI? Тоесть, чтобы пользователь просто мог писать скрипты в которых есть функции с заранее определенными именами, а прога могла эти функции вызывать?
Спасибо!
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
 
Начать новую тему
Ответов (1 - 1)
reeshkov
  опции профиля:
сообщение 28.10.2015, 13:47
Сообщение #2


Новичок


Группа: Новичок
Сообщений: 7
Регистрация: 18.9.2015
Пользователь №: 4450

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




Репутация:   0  


http://qml.ucoz.com/publ/stati_po_qml/inte...ml_i_c/5-1-0-14
Цитата
Обработка Qt-сигналов в QML

Qt C++ сигналы могут быть обработаны с помощью выражений на языке JavaScript в QML-контексте. Пусть класс CallableClass из предыдущего примера также содержит свой сигнал: cppSignal ().

class CallableClass : public QObject
{
Q_OBJECT
...
signals:
void cppSignal();
};

Сигнал может быть обработан в QML при помощи элемента Connections. Этот элемент может быть использован для обработки сигналов любого целевого объекта, в том числе и других элементов QML. Обработчик сигнала будет называться onSignalName. Здесь первая буква в имени сигнала становится заглавной.

Connections {
target: cppObject

onCppSignal: { console.log("QML function called!"); }

}
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

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


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




RSS Текстовая версия Сейчас: 25.11.2024, 19:16