Russian Qt Forum
Ноябрь 25, 2024, 04:06 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1]   Вниз
  Печать  
Автор Тема: QtScript устарела?  (Прочитано 12680 раз)
Yegor
Гость
« : Август 28, 2016, 10:17 »

Всем здравствуйте!

Поставил свежую версию Qt - 5.7.
Во время установки выбрал модуль QtScript. И там этот модуль помечен как deprecated. То есть устаревший. Впрочем, и в более ранних версиях тоже помечен как устаревший.

Вопрос: если эта технология (QtScript) устарела, то что же использовать вместо нее? Какую новую технологию?
Спасибо.
Записан
alex312
Хакер
*****
Offline Offline

Сообщений: 606



Просмотр профиля
« Ответ #1 : Август 28, 2016, 13:00 »

Предлагают использовать классы из QML. Но модули не эквивалентны по функционалу. Поэтому переходить никто не спешит переходить.
Записан
Yegor
Гость
« Ответ #2 : Август 29, 2016, 12:05 »

Опасность в том, что если модуль помечен как deprecated, то он не будет поддерживаться в следующей версии Qt.
Записан
Bepec
Гость
« Ответ #3 : Август 29, 2016, 12:07 »

Писать свой велосипед или пользоваться прочими решениями (не Qt).
Записан
GreatSnake
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 2921



Просмотр профиля
« Ответ #4 : Август 29, 2016, 12:52 »

Писать свой велосипед или пользоваться прочими решениями (не Qt).
Зачем Непонимающий Ведь в 5.0 появился QJSEngine.
Записан

Qt 5.11/4.8.7 (X11/Win)
Bepec
Гость
« Ответ #5 : Август 29, 2016, 13:52 »

Потому что QJSEngine это qml...
И требует обязательное GUI.
Записан
GreatSnake
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 2921



Просмотр профиля
« Ответ #6 : Август 29, 2016, 14:28 »

Потому что QJSEngine это qml...
И требует обязательное GUI.
Не требует.
Записан

Qt 5.11/4.8.7 (X11/Win)
Bepec
Гость
« Ответ #7 : Август 30, 2016, 08:43 »

Признаю, не требует. Глючный креатор не перечитал pro файл Веселый
Записан
Yegor
Гость
« Ответ #8 : Август 31, 2016, 13:49 »

Значит можно использовать QJSEngine. Спасибо большое за информацию!
Записан
vipet
Бывалый
*****
Offline Offline

Сообщений: 452


Просмотр профиля
« Ответ #9 : Сентябрь 15, 2016, 12:49 »

Есть ли какая-то возможность выполнять JS-код построчно (трассировать) кроме как с использованием старого и deprecated QtScript модуля и старого JS-движка из него?

И тот же вопрос насчет дебага JS-кода. Какие планы у Qt-шников на этот счет?
Записан
GreatSnake
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 2921



Просмотр профиля
« Ответ #10 : Сентябрь 15, 2016, 13:18 »

Судя по New Features in Qt 5.7:
Цитировать
Qt QML
  • All debug services now work with QJSEngine rather than QQmlEngine, which allows for non-QML JavaScript debugging or profiling.
  • The JavaScript debug service now supports debugging of multiple QJSEngine instances at the same time.
  • The profiler service can generate much larger traces without running out of memory, and will take much less time to do so now.
  • Custom connectors for debugging and profiling can be loaded with QQmlDebuggingEnabler::startDebugConnector() now.
  • The JavaScript debug service can now evaluate expressions without the QML engine being paused in a breakpoint.
есть.
Записан

Qt 5.11/4.8.7 (X11/Win)
vipet
Бывалый
*****
Offline Offline

Сообщений: 452


Просмотр профиля
« Ответ #11 : Сентябрь 17, 2016, 01:40 »

GreatSnake,

Отлично, спасибо. Только вот ассистант отстает, не вижу инфы там про это нифига.
Записан
vipet
Бывалый
*****
Offline Offline

Сообщений: 452


Просмотр профиля
« Ответ #12 : Сентябрь 17, 2016, 02:29 »

Посмотрел исходники Qt и Creator'a...

API не публичное, поэтому и в доках его нету. Вообще для моих целей слишком усложнено. Мне надо всего лишь чтобы JS-код выполнялся по шагам типа line by line, ну и может значения переменных чтоб можно было посмотреть из кода.

Пока заюзаю видимо старый добрый QtScript. Пусть JS-движок его медленнее, но лишь бы работало.

P.S. Да, вижу что QQmlDebugService и прочие классы, работают теперь с QJSEngine, а не с наследованным от него QQmlEngine. Но все равно привязок к QML там во всех этих debug-related классах дохренища, недаром оно не стало QJSDebugService'ом.
« Последнее редактирование: Сентябрь 17, 2016, 02:39 от vipet » Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.247 секунд. Запросов: 23.