
Explore the fundamentals of Qt 5 Qml, including xml-based ui, JavaScript interactivity, and how Qt Quick builds cross-platform apps for Android, iOS, and desktop; learn the design approach and workflow.
Download the open source Qt online installer, install Qt Creator on Windows, sign in with a Qt account, and select the latest version with essential components for QML development.
Install Qt and tools on Linux using the open source installer, configure permissions, sign in, choose components (desktop, android), and build a first QML app to verify your environment.
Develop and run your first qml application in Qt creator. Explore the qml application engine, command line tools, qml scene, and prototype files to streamline testing and deployment.
Build an interactive QML app by exploring syntax: imports, window, id, properties, rectangles, colors, mouse area, event handling, and property binding to update text.
Learn qml basic types such as boolean, double, integer, string and url, bind them to text and rectangle, and log values with console log and print in a qml project.
Explore how the var type acts as a generic property that can hold any data type, from numbers and booleans to colors and strings, in QML.
Explore property binding in QML, linking a rectangle's height to its width and learning how static values break the contract and how binding functions maintain updates.
Explore the QtQuick global object in QML, using its utilities to define colors, rectangles, points, sizes, and fonts, and query platform OS information.
Define properties in qml and leverage auto generated signals to track changes, using onFirstNameChanged handlers to log updates when the first name changes via a mouse click.
Explore the Qt Quick basics by learning the item base type, its x/y coordinates and size, and how rectangles and text are positioned and grouped inside a wrapper item.
Explore the image element in Qt Quick, learn how to set size and position, and load images from the working directory, a resource file, a full path, or a url.
Learn to build custom QML components by composing rectangles, text, and images, and expose width, height, and signals via an item wrapper to create reusable buttons.
Explore how signals and slots enable communication between objects in QML, using a notifier and receiver via the observer pattern. Declare signals, fire them, and connect to slots.
Explore declaring, emitting, and connecting signals to slots in qml using a rectangle and mouse area, passing a string parameter and updating width via property binding.
Explore Qt 5 QML for beginners by examining text input and text edit, mouse area signals, keyboard key detection, and focus navigation between UI components.
Explore the text edit element in Qt 5 QML for beginners by building a sample app, enabling rich text, wrapping, scrolling, and capturing edited text.
Learn to handle mouse events with MouseArea in QML, capture X and Y coordinates, enable hover, and implement drag and drop for a draggable rectangle.
Explore keys attached properties in QML to empower components with key event handling, focus, and modifiers. Learn through practical demos of signals, press events, and keyboard interactions.
Learn how the focus scope in QML manages keyboard focus for external components, demonstrated by creating a reusable rectangle button, exposing properties, and handling key events.
Learn how JavaScript acts as a first-class citizen in QML, using the script S5 standard and the HTML global object to enable interactivity with objects like Math.
Explore using JavaScript in property bindings, custom functions, and signal handlers in QML, demonstrated with a draggable rectangle whose width follows height and turns red beyond x=300.
Learn functions and scope in JavaScript for Qt QML, defining and calling root-level functions, using ids, and understanding access inside mouse areas for interactive UI.
Learn to import an external JavaScript file into a QML project, define a greeting function, and call it from QML to produce console output on click.
PPT Done
Learn to use anchors in Qt 5 QML to position multiple rectangles in a grid, binding sizes and anchoring edges to create a flexible, container-based layout.
Explore margins and anchors in qt qml, applying top, left, right, and bottom margins, using offsets, and noting that anchors work only between siblings or between a parent and child.
Explore positioning with row, column, and grid in Qt 5 qml, using the grid component to arrange rectangles and images with configurable columns, spacing, and alignment.
Learn to use the flow component in Qt 5 QML, which lays out child items like words on a page, wrapping to rows or columns with flow direction and spacing.
Learn how to run Qt quick applications on multiple platforms by building binaries on Windows, Mac, Linux, Android, and iOS, using a shared code base.
Set up your Android development environment by installing the JDK and Android Studio, configuring the Android SDK and NDK, and verifying the Java installation.
Learn how to run Qt quick apps on iOS by installing the iOS kit, generating an Xcode project with Qt Creator, and testing on the iOS simulator.
PPT Done
Explore the button element from Qt Quick Controls 2.4, inspect signals like clicked and double clicked, and build a row layout with two buttons that fill width using various styles.
Learn to use the Qt 5 QML combo box: populate with a model, handle selections via activated and accepted signals, and add editable runtime items.
Explore how the delay button in Qt 5 QML prevents accidental clicks by requiring a held activation, with hands-on steps to set delay, monitor progress, and respond to activation signals.
Discover how the qt 5 qml dial control lets users select a value from 1 to 100, signals when the value changes, and supports optional wrap and integer rounding.
Explore how the frame control creates a visual grouping for xml components by building a frame demo with three buttons and a centered frame using a column layout.
Explore how the group box wraps radio buttons and checkboxes in Qt 5 QML, enabling single-choice radios and multi-select checkboxes, with on check state changed signals and console output.
Learn to implement swipe view and page indicator in Qt 5 QML for beginners, synchronizing current index and count, and displaying images from internet or local resources.
Build and configure a progress bar demo in Qt 5 QML, wire a button to update the bar from 40 to 78, and use a dial to drive second bar.
Learn to use the range slider in Qt 5 QML to select a value range with firstValue and secondValue between from and to, and respond to value changes.
Explore the clickable component with a column of rectangles and vertical scroll bars to navigate content beyond the window, using an attached scroll bar to reveal remaining items.
Learn to implement the switch control in Qt 5 QML, a mobile-friendly checkbox-like component that uses checked and enabled, demonstrates wifi, Bluetooth, and NFC options, and handles state changes.
Explore the page, swipe view, and tab bar components in a hands-on demo, wiring a header, footer, and top bar with synchronized current index for seamless navigation.
Explore how to use the text area in Qt 5 QML, including multi-line input, wrap options, placeholder text, styling, and capturing input with a submit button.
Learn to implement a sliding drawer in Qt 5 QML: build an application window with a toolbar, a drawer, populate it with items, and open it via a tool button.
Explore the spin box control in qml, incrementing or decrementing from a starting value with min, max, and step size. Enable editing and capture the current value programmatically via signals.
Create an application window with a menu bar, header, footer, and stack view to navigate pages, using actions, toolbars, and prepared icons.
Explore how dialogs in Qt Quick present transient information and user choices, covering color, file, font, and message dialogs, their modality, and how to open or close them.
Explore the message dialogue component by building a simple dialog with a button to open it, showing a title, text, and okay and close buttons.
Important note : There is an update of this course to Qt 6. If you're just starting out, that's what you should take. Take this if you have a specific reason to target Qt 5.
Qt Quick (QML) is the latest and greatest technology from the Qt Framework, to build slick looking , fluid, dynamic and cross platform User Interfaces that can run mobile devices(Android,IoS, touch devices (embedded) and any major desktop platform out there(Linux,Windows,Mac). Qt Quick can be used to build stand-alone applications, but it can also be interfaced and/or extended with a C++ back end.
The main aim of this course is to help you succeed in becoming a Qt Quick/QML GUI Designer and do so in the most effective amount of time possible. The course is packed with lots of straight to the point, easy to understand demos, that are carefully designed to help you master a given Qt Quick UI development topic at hand.
The target student is anyone willing to add Qt Quick/QML UI design to their stack of skills. While Qt Quick is built on top of Qt and C++, no knowledge of Qt or C++ is required. The course will equally be useful to both designers willing to jump into Qt Quick and existing C++ developers willing to level up their skills in fluid UI design.
We start by getting your development environment set up and get you to run your first Qt Quick application. We then jump into topics like
Dissecting the QML Syntax , where we explore subjects like the QML syntax, Basic Types of QML, Properties and Handlers,Property Binding and the Qt Quick Global Object;
Qt Quick Basic Elements, and look at elements like Rectangle,Text, Image and Item;
Signals and Slots;
Working with Javascript, where we explore the javascript environment available to you in QML, where and how to type your Javascript code in QML files, functions and scope and importing external Javascript files;
User Input Elements : TextInput, TextEdit, MouseArea and drag and drop, Keys Attached Properties, KeyNavigation and FocusScope
Qt Quick Positioning and explore subjects like Anchors, Positioners, Layouts and Flow
Qt Quick on Mobile Devices : we take you on a detailed journey on how to run your Qt Quick Apps on Android and guide you on how you would do the same on IoS.
Qt Quick Controls where we explore a host of Ui Components available and ready to be consumed by your awesome apps ;
Dialogs : ColorDialog, FileDialog,FontDialog, MessageDialog and Custom Dialogs
Model , View and Delegate where we explore the pieces of the puzzle needed to take advantage of the Model View Delegate Architeture in Qt Quick
Transitions, Transforms and Animations : Oooh Animations! This is the most fun and captivating subject for me in Qt Quick. We take you on a tour of how you animate your Qt Quick Components and bring your designs to life using tricks like states and transitions.
Network : We show you how to download HTTP data using XmlHttpRequest and how to consume REST APIs in your Qt Quick apps using the same Javascript Object
Storage : We first use the Settings component from the Qt.labs module to save and load your applications settings and do the same thing using the LocalStorage module that is backed by an embedded SQLite database.
Qt is the platform of choice for thousands of software projects and some of the most successful companies on the planet. Learning Qt Quick will certainly level up your abilities in taking advantage of this rich and awesome framework. Please check out some of the preview videos and lets get you STARTED building slick and fluid User Interfaces with Qt Quick.