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](https://www.qt.io/development/download-qt-installer-oss) 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 Udupa