
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.
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 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.
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 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 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.
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.
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.
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
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.
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.
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 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 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.