2015-07-22 6 views
1

Я только что начал программировать в QML с помощью QtCreator. Я предпочитаю писать файлы QML с помощью редактора кода, а не редактора проекта. Но после каждого сохранения я должен запустить приложение, чтобы увидеть изменения. Даже включение автоматического сохранения в сборке не является решением, потому что для каждой сборки появляется новое окно, но старые окна все еще находятся на рабочем столе.Livereload после сохранения

Так что я написал эти две линии сценариев в Баш, чтобы LiveReload интерфейс после сохранения QML:

while sleep 0.1; do qmlscene main.qml; done & 
while true; do while inotifywait -e close_write *.qml; do killall qmlscene; done; done & 

Когда QML сохраняется, killall qmlscene называется, то новый qmlscene запускается.

Предоставляет ли QtCreator такую ​​функцию, как это? Мне не нужно перекомпилировать, перезагрузка qml-файлов должна быть прекрасной.

ответ

0

У вас есть clearComponentCache, но вам нужно будет перезагрузить QML после его вызова:

view->engine()->clearComponentCache(); 
view->setSource("qml/main.qml"); 
view->show(); 
+0

Я ищу для IDE Я хочу избежать изменения кода. Что-то вроде 'qmlscene --watch main.qml' –

+0

Нет, вы не найдете какой-либо IDE, которая вам нужна, вам всегда нужно закрыть, открыть приложение или очистить и перезагрузить кеш. – Mido

0

V-Play Engine предлагает QML Живой Перезагрузки для приложений и игр, на Windows, Linux, MacOS, прошивку и Android.

Вы можете найти более подробную информацию на нашем блоге: https://v-play.net/updates/release-2-14-0-live-code-reloading-for-desktop-ios-android

Недавно мы также добавили живой перегрузочным из браузера, чтобы проверить примеры коды прямо из документации и блог: https://v-play.net/cross-platform-development/web-editor-test-online-code-examples-on-android-and-ios-with-live-code-reloading

Смежные вопросы