SlideShare a Scribd company logo
© Integrated Computer Solutions, Inc. All Rights Reserved
So I Downloaded Qt, Now What?
June 7, 2018
Qt for Beginners Summer Webinar Series
Part I
Copyright 2018, Integrated Computers Solutions, Inc.
This work may not be reproduced in whole or in part without the express written consent of Integrated
Computer Solutions, Inc.
© Integrated Computer Solutions, Inc. All Rights Reserved
Where to Download Qt?
- Commercial and open source licenses available
- https://www.qt.io/download (Online Installer)
- http://download.qt.io/official_releases/qt/5.11/5.11.0/single
(Source and instructions on how to build)
- Be aware of license requirements
© Integrated Computer Solutions, Inc. All Rights Reserved
What is Qt?
- Cross-Platform Software Toolkit and API that allows
to develop World-Class Desktop and Embedded
Devices applications
- Spelled Qt and not QT-
- Pronounced “cute”
- Is owned by The Qt Company
- The Qt Company is responsible for all Qt activities
including product development
- https://resources.qt.io/customer-stories-all
© Integrated Computer Solutions, Inc. All Rights Reserved
Companies Using Qt
© Integrated Computer Solutions, Inc. All Rights Reserved
Where to Get Help?
- Documentation in Qt Assistant or Qt Creator
- Qt's examples: $QTSRC/Examples
- Qt Project: http://www.qt.io/developers/
- Qt Centre Forum: http://www.qtcentre.org/
- Mailing lists: http://lists.qt-project.org
- IRC: irc.freenode.org channel: #qt
- Bug Report: https://bugreports.qt.io
- Tutorials: http://wiki.qt.io/Developer-Guides
- Video tutorials: www.youtube.com/user/QtStudios
© Integrated Computer Solutions, Inc. All Rights Reserved
Widgets vs Qt Quick (QML)
- Two ways of writing GUI
- The QWidget API is in C++, compiled and more
suitable for Desktop Applications
- QML is a markup language which uses Javascript
and is interpreted at run -time. More suitable for
embedded devices.
© 2018 Integrated Computer Solutions, Inc., The Qt Company
All Rights Reserved
Starting Your Project with Widgets
Program consists of:
• main.cpp – application code
• helloworld.pro – project file
#include <QtWidgets>
int main(int argc, char *argv[])
{
QApplication app(argc, argv);
QPushButton button("Hello world"); // Creates a widget
button.show();
return app.exec(); // Starts the event loop
}
7
© 2018 Integrated Computer Solutions, Inc., The Qt Company
All Rights Reserved
Starting Your Project with Qt Quick
Program consists of:
main.cpp – creation and startup of the QML engine
helloworld.pro – project file
qml.qrc – resource files, consisting main.qml
main.qml – application code
#include <QGuiApplication>
#include <QQmlApplicationEngine>
int main(int argc, char *argv[])
{
QGuiApplication app(argc, argv);
QQmlApplicationEngine engine;
engine.load(QUrl(QStringLiteral("qrc:/main.qml")));
return app.exec();
}
8
© 2018 Integrated Computer Solutions, Inc., The Qt Company
All Rights Reserved
import QtQuick 2.4
import QtQuick.Window 2.2
Window {
visible: true
width: 360; height: 360
Rectangle {
anchors.fill: parent
MouseArea {
anchors.fill: parent
onClicked: {
Qt.quit()
}
}
Text {
anchors.centerIn: parent
text: "Hello World"
}
}
}
Qt Quick - Hello World in Qt
9
© 2018 Integrated Computer Solutions, Inc., The Qt Company
All Rights Reserved
Using qmake
• qmake tool
• Creates cross-platform make-files
• Build project using qmake
• Tip: qmake –project
• Creates default project file based on directory content
Qt Creator IDE does it all for you
cd helloworld
qmake helloworld.pro # creates target-dependent Makefile
make # compiles and links application
./helloworld # executes application
10
© 2018 Integrated Computer Solutions, Inc., The Qt Company
All Rights Reserved
Kits
A kit defines, which
• Qt version is used (Qt versions sheet – qmake location)
• compiler is used (Compilers sheet)
• debugger is used (Debuggers sheet)
11
© 2018 Integrated Computer Solutions, Inc., The Qt Company
All Rights Reserved
Debug Screen
Debug − > Start Debugging (or F5)
12
© 2018 Integrated Computer Solutions, Inc., The Qt Company
All Rights Reserved
Qt Creator Shortcut Keys
Locator Prefixes
• F2 - Go to a symbol definition
• l <line number> - Go to a line in the current document
• ? <help topic> - Go to a help topic
• o <open document> - Go to an opened document
• https://www.kdab.com/development-resources/qtcreator/
13
© 2018 Integrated Computer Solutions, Inc., The Qt Company
All Rights Reserved
Qt Books
- C++ GUI Programming with Qt 4 (2nd Edition) (Prentice Hall
Open Source Software Development Series), Jasmin
Blanchette and Mark Summerfield
- Practical Qt: Real World Solutions to Real World Problems,
Matthias Kalle Dalheimer and Jesper Pederson
- An Introduction to Design Patterns in C++ with Qt 4, Alan
Ezust and Paul Ezust
14
© 2018 Integrated Computer Solutions, Inc., The Qt Company
All Rights Reserved
In the Next Webinar
This five-part webinar series will also cover:
• QVariant, QObject — June 26 - (Tuesday)
• QML — July 19
• QWidgets — August 2
• Model/View — August 16
So Tune in, Same Qt Channel, Same Qt Time!
15
© Integrated Computer Solutions, Inc. All Rights Reserved
© Integrated Computer Solutions
This document is based on a Creative Commons training course, written by a
community of Certified Qt Training Partners. It is provided "as is" with no
warranty whatsoever.
Prior to 2012, parts of this document were written or further developed by people
who are or were employed by Trolltech, KDAB, Nokia, ICS, and possibly others.
Since 2013, this particular fork is maintained by ICS.
Qt is developed by The Qt Company (a subsidiary of Digia) together with the Qt
Project under open governance.

More Related Content

PDF
Migrating from Photon to Qt
PPTX
Qt for beginners part 1 overview and key concepts
 
PPTX
Qt for beginners part 5 ask the experts
 
PDF
Qt Internationalization
 
PDF
Meet the Widgets: Another Way to Implement UI
 
PDF
Best Practices in Qt Quick/QML - Part 3
 
PDF
Best Practices in Qt Quick/QML - Part 1 of 4
 
PDF
Qt for Beginners Part 3 - QML and Qt Quick
 
Migrating from Photon to Qt
Qt for beginners part 1 overview and key concepts
 
Qt for beginners part 5 ask the experts
 
Qt Internationalization
 
Meet the Widgets: Another Way to Implement UI
 
Best Practices in Qt Quick/QML - Part 3
 
Best Practices in Qt Quick/QML - Part 1 of 4
 
Qt for Beginners Part 3 - QML and Qt Quick
 

What's hot (20)

PDF
Software Development Best Practices: Separating UI from Business Logic
 
PDF
Fun with QML
 
PDF
Qt for beginners part 2 widgets
 
PDF
Convert Your Legacy OpenGL Code to Modern OpenGL with Qt
 
PPTX
OpenGL Fixed Function to Shaders - Porting a fixed function application to “m...
 
PDF
[Webinar] QtSerialBus: Using Modbus and CAN bus with Qt
 
PDF
QVariant, QObject — Qt's not just for GUI development
 
PDF
Qt for beginners part 4 doing more
 
PDF
Network-Connected Development with ZeroMQ
 
PDF
Introduction to the Qt Quick Scene Graph
 
PDF
Qt for Python
 
PDF
Best Practices in Qt Quick/QML - Part 2
PDF
Necessitas - Qt on Android - from FSCONS 2011
PDF
Lockless Producer Consumer Threads: Asynchronous Communications Made Easy
 
PPTX
Introduction to Qt
ODP
Intro to QML / Declarative UI
PDF
Basics of Model/View Qt programming
 
ODP
Qt 5 - C++ and Widgets
PPT
Qt Technical Presentation
ODP
Qt Workshop
Software Development Best Practices: Separating UI from Business Logic
 
Fun with QML
 
Qt for beginners part 2 widgets
 
Convert Your Legacy OpenGL Code to Modern OpenGL with Qt
 
OpenGL Fixed Function to Shaders - Porting a fixed function application to “m...
 
[Webinar] QtSerialBus: Using Modbus and CAN bus with Qt
 
QVariant, QObject — Qt's not just for GUI development
 
Qt for beginners part 4 doing more
 
Network-Connected Development with ZeroMQ
 
Introduction to the Qt Quick Scene Graph
 
Qt for Python
 
Best Practices in Qt Quick/QML - Part 2
Necessitas - Qt on Android - from FSCONS 2011
Lockless Producer Consumer Threads: Asynchronous Communications Made Easy
 
Introduction to Qt
Intro to QML / Declarative UI
Basics of Model/View Qt programming
 
Qt 5 - C++ and Widgets
Qt Technical Presentation
Qt Workshop
Ad

Similar to So I downloaded Qt, Now What? (20)

ODP
Treinamento Qt básico - aula I
PDF
Porting Motif Applications to Qt - Webinar
 
PDF
Porting Motif Applications to Qt - Webinar
PDF
Qt Automotive Suite - under the hood // Qt World Summit 2017
ODP
PyQt Application Development On Maemo
ODP
PDF
IBM Rational Rhapsody and Qt Integration
PDF
Meet Qt Canada
 
PPT
了解 Qt
PDF
Architecting Qt Mobile Applications: Frameworks, Code Generators and Beyond
PDF
Hybrid and Multi-Cloud Strategies for Kubernetes with GitOps
PDF
Hybrid and Multi-Cloud Strategies for Kubernetes with GitOps
PDF
Migrating from Photon to Qt
 
PDF
Gitops: the kubernetes way
PDF
gitopsthekubernetesway-201026090439.pdf
PDF
Success Story and Future Challenges of Applying Qt for Embedded Linux
PPT
Developing and Benchmarking Qt applications on Hawkboard with Xgxperf
PDF
Rina sim workshop
PDF
FORWARD 5 Key Highlights and Product Updates - Philadelphia Chapter
PPTX
Treinamento Qt básico - aula I
Porting Motif Applications to Qt - Webinar
 
Porting Motif Applications to Qt - Webinar
Qt Automotive Suite - under the hood // Qt World Summit 2017
PyQt Application Development On Maemo
IBM Rational Rhapsody and Qt Integration
Meet Qt Canada
 
了解 Qt
Architecting Qt Mobile Applications: Frameworks, Code Generators and Beyond
Hybrid and Multi-Cloud Strategies for Kubernetes with GitOps
Hybrid and Multi-Cloud Strategies for Kubernetes with GitOps
Migrating from Photon to Qt
 
Gitops: the kubernetes way
gitopsthekubernetesway-201026090439.pdf
Success Story and Future Challenges of Applying Qt for Embedded Linux
Developing and Benchmarking Qt applications on Hawkboard with Xgxperf
Rina sim workshop
FORWARD 5 Key Highlights and Product Updates - Philadelphia Chapter
Ad

More from ICS (20)

PDF
Understanding the EU Cyber Resilience Act
 
PDF
Porting Qt 5 QML Modules to Qt 6 Webinar
 
PDF
Medical Device Cybersecurity Threat & Risk Scoring
 
PDF
Exploring Wayland: A Modern Display Server for the Future
 
PDF
Threat Modeling & Risk Assessment Webinar: A Step-by-Step Example
 
PDF
8 Mandatory Security Control Categories for Successful Submissions
 
PDF
Future-Proofing Embedded Device Capabilities with the Qt 6 Plugin Mechanism.pdf
 
PDF
Choosing an Embedded GUI: Comparative Analysis of UI Frameworks
 
PDF
Medical Device Cyber Testing to Meet FDA Requirements
 
PDF
Threat Modeling and Risk Assessment Webinar.pdf
 
PDF
Secure-by-Design Using Hardware and Software Protection for FDA Compliance
 
PDF
Webinar On-Demand: Using Flutter for Embedded
 
PDF
A Deep Dive into Secure Product Development Frameworks.pdf
 
PDF
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
 
PDF
Practical Advice for FDA’s 510(k) Requirements.pdf
 
PDF
Accelerating Development of a Safety-Critical Cobot Welding System with Qt/QM...
 
PDF
Overcoming CMake Configuration Issues Webinar
 
PDF
Enhancing Quality and Test in Medical Device Design - Part 2.pdf
 
PDF
Designing and Managing IoT Devices for Rapid Deployment - Webinar.pdf
 
PDF
Quality and Test in Medical Device Design - Part 1.pdf
 
Understanding the EU Cyber Resilience Act
 
Porting Qt 5 QML Modules to Qt 6 Webinar
 
Medical Device Cybersecurity Threat & Risk Scoring
 
Exploring Wayland: A Modern Display Server for the Future
 
Threat Modeling & Risk Assessment Webinar: A Step-by-Step Example
 
8 Mandatory Security Control Categories for Successful Submissions
 
Future-Proofing Embedded Device Capabilities with the Qt 6 Plugin Mechanism.pdf
 
Choosing an Embedded GUI: Comparative Analysis of UI Frameworks
 
Medical Device Cyber Testing to Meet FDA Requirements
 
Threat Modeling and Risk Assessment Webinar.pdf
 
Secure-by-Design Using Hardware and Software Protection for FDA Compliance
 
Webinar On-Demand: Using Flutter for Embedded
 
A Deep Dive into Secure Product Development Frameworks.pdf
 
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
 
Practical Advice for FDA’s 510(k) Requirements.pdf
 
Accelerating Development of a Safety-Critical Cobot Welding System with Qt/QM...
 
Overcoming CMake Configuration Issues Webinar
 
Enhancing Quality and Test in Medical Device Design - Part 2.pdf
 
Designing and Managing IoT Devices for Rapid Deployment - Webinar.pdf
 
Quality and Test in Medical Device Design - Part 1.pdf
 

Recently uploaded (20)

PDF
PTS Company Brochure 2025 (1).pdf.......
PDF
Navsoft: AI-Powered Business Solutions & Custom Software Development
PDF
System and Network Administration Chapter 2
PPTX
Transform Your Business with a Software ERP System
PDF
Odoo Companies in India – Driving Business Transformation.pdf
PDF
Flood Susceptibility Mapping Using Image-Based 2D-CNN Deep Learnin. Overview ...
PPTX
ISO 45001 Occupational Health and Safety Management System
PPTX
CHAPTER 12 - CYBER SECURITY AND FUTURE SKILLS (1) (1).pptx
PDF
Digital Strategies for Manufacturing Companies
PDF
System and Network Administraation Chapter 3
PPTX
CHAPTER 2 - PM Management and IT Context
PDF
Audit Checklist Design Aligning with ISO, IATF, and Industry Standards — Omne...
PDF
Wondershare Filmora 15 Crack With Activation Key [2025
PDF
Raksha Bandhan Grocery Pricing Trends in India 2025.pdf
PDF
Design an Analysis of Algorithms I-SECS-1021-03
PPTX
Agentic AI Use Case- Contract Lifecycle Management (CLM).pptx
PDF
Softaken Excel to vCard Converter Software.pdf
PPTX
Online Work Permit System for Fast Permit Processing
PDF
AI in Product Development-omnex systems
PDF
Claude Code: Everyone is a 10x Developer - A Comprehensive AI-Powered CLI Tool
PTS Company Brochure 2025 (1).pdf.......
Navsoft: AI-Powered Business Solutions & Custom Software Development
System and Network Administration Chapter 2
Transform Your Business with a Software ERP System
Odoo Companies in India – Driving Business Transformation.pdf
Flood Susceptibility Mapping Using Image-Based 2D-CNN Deep Learnin. Overview ...
ISO 45001 Occupational Health and Safety Management System
CHAPTER 12 - CYBER SECURITY AND FUTURE SKILLS (1) (1).pptx
Digital Strategies for Manufacturing Companies
System and Network Administraation Chapter 3
CHAPTER 2 - PM Management and IT Context
Audit Checklist Design Aligning with ISO, IATF, and Industry Standards — Omne...
Wondershare Filmora 15 Crack With Activation Key [2025
Raksha Bandhan Grocery Pricing Trends in India 2025.pdf
Design an Analysis of Algorithms I-SECS-1021-03
Agentic AI Use Case- Contract Lifecycle Management (CLM).pptx
Softaken Excel to vCard Converter Software.pdf
Online Work Permit System for Fast Permit Processing
AI in Product Development-omnex systems
Claude Code: Everyone is a 10x Developer - A Comprehensive AI-Powered CLI Tool

So I downloaded Qt, Now What?

  • 1. © Integrated Computer Solutions, Inc. All Rights Reserved So I Downloaded Qt, Now What? June 7, 2018 Qt for Beginners Summer Webinar Series Part I Copyright 2018, Integrated Computers Solutions, Inc. This work may not be reproduced in whole or in part without the express written consent of Integrated Computer Solutions, Inc.
  • 2. © Integrated Computer Solutions, Inc. All Rights Reserved Where to Download Qt? - Commercial and open source licenses available - https://www.qt.io/download (Online Installer) - http://download.qt.io/official_releases/qt/5.11/5.11.0/single (Source and instructions on how to build) - Be aware of license requirements
  • 3. © Integrated Computer Solutions, Inc. All Rights Reserved What is Qt? - Cross-Platform Software Toolkit and API that allows to develop World-Class Desktop and Embedded Devices applications - Spelled Qt and not QT- - Pronounced “cute” - Is owned by The Qt Company - The Qt Company is responsible for all Qt activities including product development - https://resources.qt.io/customer-stories-all
  • 4. © Integrated Computer Solutions, Inc. All Rights Reserved Companies Using Qt
  • 5. © Integrated Computer Solutions, Inc. All Rights Reserved Where to Get Help? - Documentation in Qt Assistant or Qt Creator - Qt's examples: $QTSRC/Examples - Qt Project: http://www.qt.io/developers/ - Qt Centre Forum: http://www.qtcentre.org/ - Mailing lists: http://lists.qt-project.org - IRC: irc.freenode.org channel: #qt - Bug Report: https://bugreports.qt.io - Tutorials: http://wiki.qt.io/Developer-Guides - Video tutorials: www.youtube.com/user/QtStudios
  • 6. © Integrated Computer Solutions, Inc. All Rights Reserved Widgets vs Qt Quick (QML) - Two ways of writing GUI - The QWidget API is in C++, compiled and more suitable for Desktop Applications - QML is a markup language which uses Javascript and is interpreted at run -time. More suitable for embedded devices.
  • 7. © 2018 Integrated Computer Solutions, Inc., The Qt Company All Rights Reserved Starting Your Project with Widgets Program consists of: • main.cpp – application code • helloworld.pro – project file #include <QtWidgets> int main(int argc, char *argv[]) { QApplication app(argc, argv); QPushButton button("Hello world"); // Creates a widget button.show(); return app.exec(); // Starts the event loop } 7
  • 8. © 2018 Integrated Computer Solutions, Inc., The Qt Company All Rights Reserved Starting Your Project with Qt Quick Program consists of: main.cpp – creation and startup of the QML engine helloworld.pro – project file qml.qrc – resource files, consisting main.qml main.qml – application code #include <QGuiApplication> #include <QQmlApplicationEngine> int main(int argc, char *argv[]) { QGuiApplication app(argc, argv); QQmlApplicationEngine engine; engine.load(QUrl(QStringLiteral("qrc:/main.qml"))); return app.exec(); } 8
  • 9. © 2018 Integrated Computer Solutions, Inc., The Qt Company All Rights Reserved import QtQuick 2.4 import QtQuick.Window 2.2 Window { visible: true width: 360; height: 360 Rectangle { anchors.fill: parent MouseArea { anchors.fill: parent onClicked: { Qt.quit() } } Text { anchors.centerIn: parent text: "Hello World" } } } Qt Quick - Hello World in Qt 9
  • 10. © 2018 Integrated Computer Solutions, Inc., The Qt Company All Rights Reserved Using qmake • qmake tool • Creates cross-platform make-files • Build project using qmake • Tip: qmake –project • Creates default project file based on directory content Qt Creator IDE does it all for you cd helloworld qmake helloworld.pro # creates target-dependent Makefile make # compiles and links application ./helloworld # executes application 10
  • 11. © 2018 Integrated Computer Solutions, Inc., The Qt Company All Rights Reserved Kits A kit defines, which • Qt version is used (Qt versions sheet – qmake location) • compiler is used (Compilers sheet) • debugger is used (Debuggers sheet) 11
  • 12. © 2018 Integrated Computer Solutions, Inc., The Qt Company All Rights Reserved Debug Screen Debug − > Start Debugging (or F5) 12
  • 13. © 2018 Integrated Computer Solutions, Inc., The Qt Company All Rights Reserved Qt Creator Shortcut Keys Locator Prefixes • F2 - Go to a symbol definition • l <line number> - Go to a line in the current document • ? <help topic> - Go to a help topic • o <open document> - Go to an opened document • https://www.kdab.com/development-resources/qtcreator/ 13
  • 14. © 2018 Integrated Computer Solutions, Inc., The Qt Company All Rights Reserved Qt Books - C++ GUI Programming with Qt 4 (2nd Edition) (Prentice Hall Open Source Software Development Series), Jasmin Blanchette and Mark Summerfield - Practical Qt: Real World Solutions to Real World Problems, Matthias Kalle Dalheimer and Jesper Pederson - An Introduction to Design Patterns in C++ with Qt 4, Alan Ezust and Paul Ezust 14
  • 15. © 2018 Integrated Computer Solutions, Inc., The Qt Company All Rights Reserved In the Next Webinar This five-part webinar series will also cover: • QVariant, QObject — June 26 - (Tuesday) • QML — July 19 • QWidgets — August 2 • Model/View — August 16 So Tune in, Same Qt Channel, Same Qt Time! 15
  • 16. © Integrated Computer Solutions, Inc. All Rights Reserved © Integrated Computer Solutions This document is based on a Creative Commons training course, written by a community of Certified Qt Training Partners. It is provided "as is" with no warranty whatsoever. Prior to 2012, parts of this document were written or further developed by people who are or were employed by Trolltech, KDAB, Nokia, ICS, and possibly others. Since 2013, this particular fork is maintained by ICS. Qt is developed by The Qt Company (a subsidiary of Digia) together with the Qt Project under open governance.