Skip to Main Content
Workshop Intermediate

Getting Started with Qt

Proposal status is Approved
Session Description

What is Qt?

Qt is a cross-platform C++ framework for building applications. It's most commonly used for GUI development. Alongside its procedural widgets API, Qt also supports a declarative approach to UI building through QML.


Qt is already the foundation of several leading desktop applications. These include VLC, Autodesk Maya, 3ds Max, VirtualBox, Krita, Calibre, Telegram, and DaVinci Resolve. It even powers infotainment systems in cars from Mercedes-Benz, Tesla, and Ford.


On a personal note, this workshop is led by Prashanth. He has used Qt exclusively to build Scrite, a popular cross-platform desktop screenwriting application used by thousands of writers worldwide.

What is covered in this workshop?

The workshop starts with the basics of UI composition in QML. From there, it moves into Qt's core object model and its model-view framework. Along the way, we'll build a simple book search app that queries Google's Books API.


We'll cover:

Tools

  1. Qt Creator IDE
  2. Basics of CMake

QML

  1. Basic concepts: syntax, types, items, properties
  2. Core types: Item, Rectangle, Text, TextInput, Image
  3. Placing items: anchors, positioners, layouts
  4. Interaction: mouse, touch, and keyboard input
  5. Modules & components
  6. Model-view infrastructure: ListView, GridView, PathView, and ListModel, XmlListModel

Object Model

  1. QObject and QMetaObject
  2. Exposing C++ classes to QML
  3. Models in C++, views in QML
  4. REST APIs using QNetworkAccessManager, QNetworkReply, and QJson classes


The goal isn't to become an expert in any of these topics. It's to get a working feel for them. You can keep exploring on your own, in the context of your own projects.

What to expect

  1. Plenty of hands-on work
  2. No AI assistance: everything will be hand-coded
  3. A fast-paced walk-through of the material

Who is this for?

If you've been meaning to learn Qt for a while, this workshop is for you. If you've ever wondered what makes KDE tick, it's for you too.


It'll help if you:

  1. Have a working knowledge of C++ (you don't need to be an expert)
  2. Bring curiosity and interest in GUI development
  3. Have used GTK, MFC, Java Swing, or similar UI toolkits (not required, but useful context)


If you're already a Qt veteran, feel free to join anyway if you have the time. We'll have some fun!

Prerequisites

Participants are required to come with:


  1. A laptop (Windows, macOS, or Linux is fine)
  2. On Windows: install Visual Studio 2022 Community Edition and the latest Windows SDK. Alternatively, you can install MinGW using the online installer.
  3. Qt 6.11 and Qt Creator are already installed. Just download the online installer from qt.io and install Qt 6.11.
  4. Optional: register as a Google Developer so you can generate API keys for the Google Books API. If you can't, don't worry. We can use the OpenLibrary API instead.
  5. Code samples will be shared over Google Drive, so be sure to connect to the Wifi at the venue, or better yet use your own mobile hotspot.
Key Takeaways


References

Which track are you applying for?

Main track

Speakers

Prashanth Udupa Creator | Scrite Prashanth is a software developer with nearly 25 years of experience in Qt. He's worked across EDA, Medical, Defense, Construction Monitoring, and Digital Publishing. He's also built a few open-source projects with Qt, including VTK Designer, GCF, and, most recently, Scrite: a desktop screenwriting app used by thousands of filmmakers worldwide. Many films you watch today were written on Scrite.
Prashanth Udupa
https://www.linkedin.com/in/praud/
Mahesh Gaur Senior Software Engineer | Qt India Technology Private Limited Mahesh Gaur is a Senior Software Engineer at Qt Group with 7 years of experience developing embedded and cross-platform applications using Qt and Qt for MCUs on a variety of SoC platforms.
Mahesh Gaur
https://www.linkedin.com/in/maheshgaur1311/