【问题标题】:Livereload after save保存后重新加载
【发布时间】:2015-07-22 18:38:10
【问题描述】:

我刚刚开始使用 QtCreator 在 QML 中进行编程。我更喜欢使用代码编辑器而不是设计编辑器来编写 QML 文件。但每次保存后,我都必须运行应用程序才能看到更改。即使在构建时启用自动保存也不是解决方案,因为每个构建都会出现一个新窗口,但旧窗口仍在桌面上。

所以我在 bash 中编写了这个两行脚本来在保存 QML 后重新加载 UI:

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 是否提供这样的 livereload 功能?我不需要重新编译,重新加载qml文件就可以了。

【问题讨论】:

    标签: qt qml qt-creator qtquick2


    【解决方案1】:

    你有clearComponentCache,但你需要在调用它后重新加载qml:

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

    【讨论】:

    • 我正在寻找 IDE 功能,我想避免更改代码。类似qmlscene --watch main.qml
    • 不,你不会找到任何 IDE 这样做,你总是需要关闭然后打开应用程序或清除并重新加载缓存。
    【解决方案2】:

    V-Play 引擎为 Windows、Linux、MacOS、iOS 和 Android 上的应用和游戏提供 QML 实时重新加载。

    您可以在我们的博客上找到更多信息:

    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

    【讨论】:

      猜你喜欢
      • 2011-03-29
      • 1970-01-01
      • 2011-01-27
      • 1970-01-01
      • 2020-06-14
      • 2015-11-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多