
Master interfacing between Qt6 C++ and QML by exposing C++ types to QML, calling C++ from QML, and decorating types with QML features to build dynamic, responsive interfaces.
Learn how to interface c++ types with qml, create and expose objects across sides, and use the q property mechanism and context properties to propagate changes, call javascript from c++.
Learn how to connect Qt C++ and QML using context properties, expose a C++ class to QML, and call invokable methods or slots from QML buttons.
Learn how the QML connections type intercepts signals with a target property, letting green and blue rectangles respond to red rectangle clicks.
Expose a C++ signal sender to QML, use a connections element to handle on call QML and on CP timer signals, and update the rect text with a one-second timer.
Expose C++ properties to QML using Q_PROPERTY macros, a movie class with main character and title, with getters, setters, and change signals, exposed as a context property for QML updates.
Explain context objects and how they expose C++ data directly to QML via root context. Compare with context properties and a live last name and first name demo.
Demonstrates calling JavaScript functions embedded in QML from C++, using Qt's invoke method on a root object via QMetaObject, passing parameters and capturing the return value with QVariant.
Expose a C++ class as an instantiable type in QML by creating objects on the QML side, via the QML element macro or QML register type.
Expose a movie type as a qml module by creating a movies subdirectory with its own cmake list, building the module, and linking it for import.
Discover how to create a single instance in Qt6 and QML by exposing a C++ class as a singleton, using QML element and QML singleton, or via register singleton instance.
Learn how to interface C++ and QML using context properties, signals, and the Q property mechanism; expose types to QML with register type or singleton options, enabling seamless updates.
Explore data conversions between C++ and QML, exchanging basic types, date time, and sequences such as vectors and lists, and use variant list and variant map for key-value data.
Explore how C++ data types convert to QML when exchanged, and build a CP class that sends and receives ints, bools, doubles, and strings via signals and slots.
Explore how to exchange date and time data between C++ and QML in Qt6, using signals, slots, and QML elements to send and receive DateTime and Time objects.
Explore exchanging sequence data between C++ and QML in Qt6, converting between QVector or QList and JavaScript arrays, using an exposed C++ class and buttons to send and receive arrays.
Learn how to transfer data between C++ and QML using QVariantList and QVariantMap, with automatic conversion to JavaScript arrays and objects, including two-way calls via invokable methods.
Exchange data between C++ and QML using signals that carry booleans, doubles, strings, colors, and date-time values, with lists converting to JavaScript arrays and maps to objects.
Learn to build a rest client with qnetworkaccessmanager, expose C++ rest data to qml, and leverage Qt 6.7 rest facilities to source data as a qml-ready type.
Build a rest client in C++ with QNetworkAccessManager to download json data from an http server and feed it into a QML model for display in a list view.
Qt 6.7 updates: rest friendly types, QRestAccessManager, and QNetworkRequestFactory to simplify rest calls with base URLs, endpoints, and JSON processing for QML models.
Expose a C++ instantiable type to QML and bind a posts list to the QML model. Implement fetch posts and remove last to trigger automatic list updates via signals.
Explore rest facilities sending data from c++ to qml using the network access manager, network reply, and a chunked buffer to assemble a json document.
Expose non-visual C++ types to QML, forward data with a counter, and apply enums, object list properties, grouped properties, and attached properties to model a football team with players.
Build a non-visual counter in C++ and expose it to QML. As an instantiable QML element, start and stop control counting, updating a rectangle display.
Expose c++ enums to qml by declaring a qobject class with a public enum and registering it as a qml creatable type; access enum values in qml.
Expose a count direction enum (up or down) from C++ to QML via a QML element macro, creating a creatable counter that increments or decrements according to the enum value.
Expose a list of players to QML via a QML list property in Qt6, modeling players and a football team in C++, with append, count, and clear callbacks.
Explore object-oriented design in Qt6 and QML by modeling players through inheritance: define a pure virtual player interface, implement striker and defender with distinct play methods, usable from QML.
Learn how default properties work in QML, using a macro to map root scope items to the players property, with defender, striker, and players as examples.
Explore grouped properties in Qt6 QML by implementing a player details class that wraps height, weight, and speed, exposing them through a grouped property in the player.
Learn to implement attached properties in QML by building a timer attached to a custom type, including the attached class, attaching class, properties, signals, and using it in QML.
Learn to create a custom property value source in Qt6 and QML that feeds width or radius with a timer-driven random number, using set target and update property.
Expose c++ types to qml with a custom counter and enums, enabling data display in qml. Enable list, grouped, and attached properties, with value sources like random number on width.
Harness C++ as the heavy lifter and interface with QML through context properties, context objects, and instantiable types, plus QML registration and property inspection from C++.
Qt Quick and QML are the latest and greatest User Interface design technologies from the Qt Framework. They are best known and used to build Fluid, Dynamic and cross platform user interfaces, that can run on Windows,Mac,Linux,Android,IOS and even embedded devices.
Qt Quick User interfaces can be easily extended or interfaced with a powerful C++ back end. Allowing you to take full advantage of what Qt has to offer.
This course will teach you various key techniques you need to know to make your powerful C++ back end and your shinny fluid Qt Quick User interface work together in one single piece of software product. You will be exposed to different facilities at your disposal in the Qt framework.Those will help you write Qt code in the recommended way. That is building fluid an eye catching UI in QML and connecting it a a powerful C++ code base for heavy operations.
The ideal student for the course is someone who already knows their way around both the C++ side of Qt and Qt Quick ; and is willing to learn how the two sides can communicate. So if you are rusty on either Qt C++ or Qt Quick(QML), please learn the basics first. If in doubt, do check my previous courses on both Qt C++ and Qt Quick.
You will take advantage of lots of straight to the point and easy to understand lectures, most of them backed by engaging demos for you to try out the concepts on your own right away.
If you're looking to learn how you can get your Qt C++ and QML code bases to connect and talk to each other, this course will get you up and running in the shortest amount of time possible.
The course starts right away getting your hands dirty doing things like Calling C++ methods from QML,Calling Javascript/QML methods from C++, Using Q_PROPERTY mechanism to propagate properties and changes between C++ and QML and more.
You then get to take a comprehensive look at how your data is transformed when you juggle it between QML and C++. Next we do a live demo; a REST API client that downloads data in C++ and feeds the data to Qt Quick for display. The course then dives in one of the most interesting topics of registering a type in C++ to be used and instantiated in Qt Quick. This will allow you to create your own QML types like Person, Car, Tomato,... On top of that you'll also learn how to make your own QML Apis more readable and usable by incorporating features like Object and List Properties,Default Properties, Attached Properties and Property Value Sources.
Qt is the platform choice for thousands of software projects and used by some of the most successful companies on the planet today. Learning how to make your C++ talk to your shiny Qt Quick UI will unlock the door to really using Qt the way it should be used today. Leveling up your skills as a Qt Developer.
Please check out some of the preview videos, and lets get you STARTED connecting your powerful C++ back end to a Dynamic and Fluid Qt Quick User Interface.