A workshop project to practice QML (more)
The aim of this project is to provide an application squeleton to help practicing Qt and QML during a workshop. The first experience will be during the QtDay2019 in Firenze. It is meant to be a good way for easing any introduction to Qt/Qml workshop, have a try in your Qt meetup !
The application consists of a list a of topics candidate (a.k.a. "TC") to play with (for instance playing with the camera is one TC while playng sounds is another). A TC is provided with some guidelines to help QML newbies to start with or simply with ideas about what could be done. A set of ressources is also part of the application (for instance a sounds bank, an height map...) so that implementing TC is not spoiled with the cumbersome activity to look after suitable assets.
A playground is the implementation of TC for a given player. When the application starts (from a clean clone and build), it starts with the playground creation :
- ask for the playground name
- optionnaly use the camera to create a player profile picture Once created, the application zip and transfer the playground through a FTP on a remote location.
Using QtCreator, players can modify their playground QML document to implement a given topic.
Using QtWorkshop application, it is possible to switch from one topic to another using the toolbar or select a playground using the left drawer.
At anytime, one can download others players playground and/or upload its playground to share its progress using the dedicated buttons on the footer menu or through the integrated playground console.
As the published playgrounds of others players are actually donwloaded locally, it is easy to browse the QML content - using QML creator, all the playgrounds documents are listed in "others files" (rerun qmake to update if required).
Finally, the application can show the QML content and support live editing (credits to Oleg Yadrov)
It is strongly advised to use the latest stable Qt version (Qt5.12.1 at the time of the project start) but an effort has been made for the project to run with Qt5.9 (untested).
The remote location of playgrounds support HTTPS but only HTTP is used by default to avoid introducing a SSL requirement on local host building QtWorkshop.
- git clone the project
git clone https://github.com/a-team-fr/QtWorkshop.git
-
Open the project with QtCreator
-
Build, run and follow the instructions
The app has been published but in "showcase" mode : it is not possible to create a playground, upload/download so it is way less interesting.
The sole purpose of the showcase is to give you an idea of what kind of things you could produce during the workshop.
- features / improvements
- basic squeleton : able to select topic, select a user with a few topics
- share playground over ftp : upload / download
- use the camera to get a profile image when creating the playground
- add a show details for a given topic candidate to give more information (link to github wiki)
- add an edit mode showing the QML code, enable modification and update
- create a warmup topic
- improve UI/UX
- integrate basic QML syntax highlight
- Topics
- warmup
- SoundBox
- Camera
- Map
- TTS
- Sensors
- Uncharted
- Flick'r
- Messy (a refactoring challenge)
- Canvas (wip)
- Free
- Successfully built on
- MacOs
- Qt5.12.1
- Qt5.9.7
- MS Windows 10
- Qt5.12.1 (MSVC2017 64b)
- Qt5.9.7 (MSVC2017 64b)
- Qt5.9.7 (MinGW 32b)
- GNU/Linux (Debian Jessy)
- Qt5.10.2
- MacOs
- chat support
- polling