A lightweight QML-only ECL binding to Qt5/Qt6.
Find a file
2022-03-22 21:53:00 +01:00
cpp-lib some revisions 2022-02-28 14:10:20 +01:00
doc add beginners guide for iOS 2022-03-12 12:09:53 +01:00
examples revisions 2022-03-22 21:53:00 +01:00
platforms important: fix ASDF compiling for iOS 2022-03-22 07:42:13 +01:00
screenshots revisions 2022-03-22 21:53:00 +01:00
slime revisions 2022-03-18 07:59:44 +01:00
src add example 'clog-demo' (currently only runs '01-demo.lisp'); tested on android 2022-03-22 11:10:19 +01:00
.gitignore add 'ensure-permissions' for android; revisions 2022-02-22 16:10:55 +01:00
beginners-guide-android.md revisions 2022-03-12 20:57:56 +01:00
beginners-guide-ios.md revisions 2022-03-12 17:58:00 +01:00
license.txt ini 2022-01-13 15:56:44 +01:00
readme-build.md update readme-build 2022-03-17 17:44:10 +01:00
readme-prepare-android.md important: fix ASDF cross-compiling to work properly (should now work with any library) 2022-03-14 21:54:00 +01:00
readme-prepare-ios.md important: fix ASDF cross-compiling to work properly (should now work with any library) 2022-03-14 21:54:00 +01:00
readme-qml-live-preview-and-slime.md revisions 2022-03-07 19:38:25 +01:00
readme-qt.md make example work on android; revisions 2022-02-11 13:05:59 +01:00
readme.md add screenshot (simple clog demo) 2022-03-22 11:33:45 +01:00

Description

A lightweight ECL based QML-only binding to Qt5/Qt6.

This small project aims to simplify all the steps needed for building cross-platform apps. The same sources can be used to build executables for both desktop (Linux/macOS) and mobile (android/iOS).

QML auto reload

A new feature is auto reloading of QML files after saving any changes. This works both on the desktop and on mobile.

As a concrete example, you may have running your app on the desktop, and have both an android mobile device plus an iOS mobile device pointing to the IP of the desktop. Now you will see any change to QML on all 3 screens simultaneoulsy.

This even works (with some limitations, and only in this advanced example) at QML file level, which means: only the QML file currently edited is reloaded, preserving the state of all other QML files, and more importantly, the current view in case of nested page structures.

License

ECL and Qt5/Qt6 are LGPL. LQML can be considered public domain.

Tested

Only tested with Qt5.15 and latest Qt6. It's recommended to use the new Qt online installer (see doc/get-qt6), where you can choose to install different Qt versions side by side, sharing the same Qt Creator.

The mobile part is currently only tested with Qt5.15, because the Qt6 port still lacks significant parts of mobile (as of Qt6.2).

TODO

  • add sokoban example
  • add CL REPL example
  • add Windows platform
  • port to CMake

macOS note

Qt works (obviously) perfectly well on Linux.

On macOS instead, I found this a little annoying bug: after a QML property change in Slime, the QQuickView is not updating. So, for a visual update you need to click on the view; but it seems to work for subsequent property changes.