QML Creator for Android: Develop QML components anywhere you like!
-
I'd like to introduce QML Creator, my latest side project. I wrote this program for Android in just 2 weeks, in after-work hours. It is a Qt Quick 2.1 app based on "ApplicationWindow":http://qt-project.org/doc/qt-5.1/qtquickcontrols/qml-qtquick-controls1-applicationwindow.html with a few C++ fragments injected. This program is intended to help develop QML components right on your mobile device.
Really, this app is not designed to be used for serious development. Rather, it is a fan project for Qt lovers like myself. I often found the need, in the absence of a desktop computer, to show QML's advantages to programers who haven't yet had a chance to appreciate declarative programming. Or, alternatively, if you want to develop QML components and just don't have a desktop around, now you can do it anywhere you like on your mobile device.
I've had an idea to write this app for quite a while, and I figured it shouldn't take me a long time - the minimal realization is just a "Qt.createQmlObject":qt-project.org/wiki/QML-Dynamic-Objects call. You probably realized by now it doesn't compile any .apk. But the fact that it simply creates and executes components that you're going to write later, doesn't minimize it's merits! For those of you who are being especially skeptical, I developed several effective demos which can be opened from the Examples menu. Animation, Web Integeration, Controls, Canvas, Shaders - it's all unlimited. I used "LocalStorage":http://qt-project.org/doc/qt-5.1/qtquick/qmlmodule-qtquick-localstorage2-qtquick-localstorage-2.html to enable saving the projects (every component is a project), and you can use "pastebin":http://pastebin.com/ to import the ready projects and use them on a desktop.
!http://habr.habrastorage.org/post_images/3c3/8a0/0bc/3c38a00bc8e8370ad6b506553430790b.png(screenshot)!
!http://habr.habrastorage.org/post_images/901/d32/541/901d3254169d58f4d8f28cc9de3418ba.png(screenshot)!
!http://habr.habrastorage.org/post_images/8a7/02d/e5b/8a702de5b8b68aa1c8bfb2440effcd23.png(screenshot)!The first release includes 7 examples and all the functionality of Qt Quick 2.1. In the near future, I'm going to finish the code highlighting (it's not really working right now, sorry) and also build in some editor skins. Naturally, I'll give you some more examples. And upgrade to 5.2:)
C++ fragments include syntax highlighting ("QSyntaxHighlighter":http://qt-project.org/doc/qt-5.1/qtgui/qsyntaxhighlighter.html) and error handling (ErrorHandler module which reroutes &QQmlApplicationEngine::warnings signals to QML.)
I tested my app exclusively on Nexus 4 (CyanogenMod 10.1.3) since I didn't have any other Android devices handy. Theoretically, it should work on any OS starting at 2.3.3 (API v10), but I'm not really sure. Try it, it could just be true.
https://play.google.com/store/apps/details?id=com.wearyinside.qmlcreator
(The app has just been added and has not been indexed yet so the Search doesn't find it yet.)Please don't hesitate to let me know your feedback, hope you enjoy working with it!
-
Hey, that's really neat. A brilliant showcase for Qt & QML. Works great on my Nexus 7 2012 with kitkat, tho I had to set 'Show correction suggestions' to hide in Google Keyboard settings in Language and input otherwise I couldn't position the cursor properly in the editor. I used QML Creator 1.0.6.
-
Just wanted to say your app was a great discovery (incidentally on the app store), and I've really used it a lot to tinker with my own components!
-
@wearyinside said:
p develop QML components right on your mobile device.
I have play with it and it a great discovery. well do!
-
hi I am very new to qt programming and just have 2 months background in c++ but because of my over enthusiasm I started in your program (which is truly amazing and easy to learn on) but I wrote like a rather big program on the qml creator for a beginner and want to build it but don't know how to put the qml's in a new project on pc or even how to create the project ... if possible please help