SlideShare a Scribd company logo
Qt Framework
GUIDED OVERVIEW OF SOFTWARE FRAMEWORKS
WHAT WE’LL BE GOING THOUGH
• Background
• Tool architecture diagram
• Reasons to use it
• A simple use case example
• Drawbacks
QT
• C++ Based, with support for other languages including QML
and JavaScript (often used together)
• Signals and slots mechanism, an extension to C++,
generated by processing source files through Qt’s Meta
Object Compiler tool
• Been around a long time, began as a commercial
framework in the 90’s, and now become more popular since
being, more recently, made open-source
• Next version will use CMake exclusively (see https://lists.qt-
project.org/pipermail/development/2018-
October/034023.html)
Qt Creator
(IDE Application)
Source Code
Qt Libraries
Target
Executable
Compiler/Linker
Build System
qmake or CMake
Qt Deployment
Tool
User Settings
WHY SHOULD YOU USE QT
• It’s free and opensource with much of it licensed under the GNU LGPL license allowing usage
of Qt shared libraries with a closed source application.
• No annoying splash screen, unlike Felgo or Unity
• Truly cross-platform and allows a more uniform user experience across platforms thanks to the
plugin abstraction architecture
• Usable in other IDE’s, especially as Qt already has modules working with CMake. They also
ship a plugin for Visual Studio (all product tiers).
• Next-gen GPU scenegraph engine provided by the Quick module.
• Already used in opensource programs including: VirtualBox, VLC, Wireshark, Musescore.
• Targeted libraries for most major desktop, mobile and embedded systems.
HELLO QUICK
• A simple App using the same code base targeted to build for different platforms,
showcasing the application engine class provided as part of the Quick module.
• The engine renders every item to a buffer in passes using hardware accelerated
API’s; OpenGL/ES on Android, OpenGL on Windows.
DRAWBACKS
• Some platforms may require some additional platform specific code. IE: Android needing a JNI
call for launching an Intent. Luckily Qt Creator let’s you modify the other App files passed on to
Gradle, so you can write additional Java classes to go along with Qt’s “boilerplate” Java
classes.
• Qt Quick designer plugin for QtC is still a WIP, it’s not perfect and crashes sometimes.
• Runtime libraries contributing to larger installations exceeding >30 Mb compared to programs
using more lightweight libraries like SDL or raw Windows API which measure in k/bytes, or even
a .NET executable which is just as small.
• C++ can be hard.
• Some modules have a different license attached to them, other than GNU LGPL, such as GPL,
which may prohibit usage in closed source programs, not even allowing dynamic linking.
CLOSING REMARKS
• It’s not perfect but it’s improving continually in these areas (to mention a few):
• CMake support
• Android deployment
• Ideal if you want to develop applications more quickly with C++, compared to
using smaller libraries like SDL.
• Great for building traditional applications.

More Related Content

What's hot (20)

PDF
EEF : Sexy Properties, Wizards and Views - EclipseCon 11
Chauvin Mariot
 
PDF
Headless Drupal: A modern approach to (micro)services and APIs
sparkfabrik
 
PDF
OSGi and Java 9+ - BJ Hargrave (IBM)
mfrancis
 
PPTX
Tampere Technical University - Seminar Presentation in testind day 2016 - Sca...
Sakari Hoisko
 
PPTX
Quarkus and GraalVM
Brian S. Paskin
 
PDF
Pairing WebKit and Wayland for Linux-Based Embedded Web Content Presentation ...
Igalia
 
PDF
Multiplatform Apps with Spring, Kotlin, and RSocket
VMware Tanzu
 
PPTX
Microsoft .Net Framework
Rohit Rao
 
PPTX
.NET Standard - Introduction
Immo Landwerth
 
PDF
MuleSoft meetup__houston #13
Jim Andrews
 
PDF
Why You Should be Using Multi-stage Docker Builds in 2019
Codefresh
 
PPTX
Kotlin Multiplatfom In Action
Marko Mitic
 
PPT
qt-project.org and Qt 5
thiagomacieira
 
PDF
LCU14 208- Chromium-Blink Migration for RDK
Linaro
 
PPTX
Que hay de nuevo en 2013 en la plataforma Microsoft para desarrolladores
Rodolfo Finochietti
 
PPTX
Bitbucket pipelines
Hoffman Lab
 
PPTX
Recipy presentation #collabw15
Raquel Alegre
 
PDF
A quick introduction to Strapi CMS
Ashokkumar T A
 
PDF
[Srijan Wednesday Webinar] How to Run Stateless and Stateful Services on K8S ...
Srijan Technologies
 
PPT
.Net Introduction
Muzzammil Wani
 
EEF : Sexy Properties, Wizards and Views - EclipseCon 11
Chauvin Mariot
 
Headless Drupal: A modern approach to (micro)services and APIs
sparkfabrik
 
OSGi and Java 9+ - BJ Hargrave (IBM)
mfrancis
 
Tampere Technical University - Seminar Presentation in testind day 2016 - Sca...
Sakari Hoisko
 
Quarkus and GraalVM
Brian S. Paskin
 
Pairing WebKit and Wayland for Linux-Based Embedded Web Content Presentation ...
Igalia
 
Multiplatform Apps with Spring, Kotlin, and RSocket
VMware Tanzu
 
Microsoft .Net Framework
Rohit Rao
 
.NET Standard - Introduction
Immo Landwerth
 
MuleSoft meetup__houston #13
Jim Andrews
 
Why You Should be Using Multi-stage Docker Builds in 2019
Codefresh
 
Kotlin Multiplatfom In Action
Marko Mitic
 
qt-project.org and Qt 5
thiagomacieira
 
LCU14 208- Chromium-Blink Migration for RDK
Linaro
 
Que hay de nuevo en 2013 en la plataforma Microsoft para desarrolladores
Rodolfo Finochietti
 
Bitbucket pipelines
Hoffman Lab
 
Recipy presentation #collabw15
Raquel Alegre
 
A quick introduction to Strapi CMS
Ashokkumar T A
 
[Srijan Wednesday Webinar] How to Run Stateless and Stateful Services on K8S ...
Srijan Technologies
 
.Net Introduction
Muzzammil Wani
 

Similar to Guided overview of software frameworks qt framework (20)

ODP
Meet Qt
account inactive
 
PDF
Necessitas - Qt on Android - from FSCONS 2011
Johan Thelin
 
PPTX
Qt
Abhishek Lal
 
PDF
Cutest technology of them all - Forum Nokia Qt Webinar December 2009
Nokia
 
PDF
Epam mobile meetup 2014 10-15 qt cross-platform solution for mobile development
Ivan Marinov
 
PPT
Qt Technical Presentation
Daniel Rocha
 
ODP
Qt 5 - C++ and Widgets
Juha Peltomäki
 
PPTX
Witekio Qt and Android
Witekio
 
PPTX
Intro to gui, cross platform and qt
Muhammad Sabry
 
PDF
Qt Tutorial - Part 1
rmitc
 
ODP
Treinamento Qt básico - aula I
Marcelo Barros de Almeida
 
PPT
Qt S60 Technical Presentation Fn Stripped
Nokia
 
PDF
Qt introduction
Ahmed Toulan
 
PPT
了解 Qt
Chi Zhang
 
PDF
Qt quick (qml)
Elena Kotina
 
PDF
QtQuick Day 1
Timo Strömmer
 
PDF
Maemo 6 UI Framework
Peter Schneider
 
PDF
Andreas Jakl Software Development on Nokia Deviceswith Qt
NokiaAppForum
 
PDF
Introduction to Qt programming
Dragos Tudor Acostachioaie
 
PPTX
cpp-2013 #14 Основи Qt
Amazon Web Services
 
Necessitas - Qt on Android - from FSCONS 2011
Johan Thelin
 
Cutest technology of them all - Forum Nokia Qt Webinar December 2009
Nokia
 
Epam mobile meetup 2014 10-15 qt cross-platform solution for mobile development
Ivan Marinov
 
Qt Technical Presentation
Daniel Rocha
 
Qt 5 - C++ and Widgets
Juha Peltomäki
 
Witekio Qt and Android
Witekio
 
Intro to gui, cross platform and qt
Muhammad Sabry
 
Qt Tutorial - Part 1
rmitc
 
Treinamento Qt básico - aula I
Marcelo Barros de Almeida
 
Qt S60 Technical Presentation Fn Stripped
Nokia
 
Qt introduction
Ahmed Toulan
 
了解 Qt
Chi Zhang
 
Qt quick (qml)
Elena Kotina
 
QtQuick Day 1
Timo Strömmer
 
Maemo 6 UI Framework
Peter Schneider
 
Andreas Jakl Software Development on Nokia Deviceswith Qt
NokiaAppForum
 
Introduction to Qt programming
Dragos Tudor Acostachioaie
 
cpp-2013 #14 Основи Qt
Amazon Web Services
 
Ad

Recently uploaded (20)

PPTX
AEM User Group: India Chapter Kickoff Meeting
jennaf3
 
PPTX
Transforming Mining & Engineering Operations with Odoo ERP | Streamline Proje...
SatishKumar2651
 
PDF
Revenue streams of the Wazirx clone script.pdf
aaronjeffray
 
PDF
Top Agile Project Management Tools for Teams in 2025
Orangescrum
 
PDF
Linux Certificate of Completion - LabEx Certificate
VICTOR MAESTRE RAMIREZ
 
PDF
Generic or Specific? Making sensible software design decisions
Bert Jan Schrijver
 
PDF
Thread In Android-Mastering Concurrency for Responsive Apps.pdf
Nabin Dhakal
 
PPTX
Tally software_Introduction_Presentation
AditiBansal54083
 
PPTX
Tally_Basic_Operations_Presentation.pptx
AditiBansal54083
 
PDF
Automate Cybersecurity Tasks with Python
VICTOR MAESTRE RAMIREZ
 
PDF
4K Video Downloader Plus Pro Crack for MacOS New Download 2025
bashirkhan333g
 
PPTX
Empowering Asian Contributions: The Rise of Regional User Groups in Open Sour...
Shane Coughlan
 
PDF
Digger Solo: Semantic search and maps for your local files
seanpedersen96
 
PDF
SciPy 2025 - Packaging a Scientific Python Project
Henry Schreiner
 
PPTX
Agentic Automation Journey Series Day 2 – Prompt Engineering for UiPath Agents
klpathrudu
 
PDF
유니티에서 Burst Compiler+ThreadedJobs+SIMD 적용사례
Seongdae Kim
 
PDF
AI + DevOps = Smart Automation with devseccops.ai.pdf
Devseccops.ai
 
PPTX
Help for Correlations in IBM SPSS Statistics.pptx
Version 1 Analytics
 
PDF
[Solution] Why Choose the VeryPDF DRM Protector Custom-Built Solution for You...
Lingwen1998
 
PPTX
Home Care Tools: Benefits, features and more
Third Rock Techkno
 
AEM User Group: India Chapter Kickoff Meeting
jennaf3
 
Transforming Mining & Engineering Operations with Odoo ERP | Streamline Proje...
SatishKumar2651
 
Revenue streams of the Wazirx clone script.pdf
aaronjeffray
 
Top Agile Project Management Tools for Teams in 2025
Orangescrum
 
Linux Certificate of Completion - LabEx Certificate
VICTOR MAESTRE RAMIREZ
 
Generic or Specific? Making sensible software design decisions
Bert Jan Schrijver
 
Thread In Android-Mastering Concurrency for Responsive Apps.pdf
Nabin Dhakal
 
Tally software_Introduction_Presentation
AditiBansal54083
 
Tally_Basic_Operations_Presentation.pptx
AditiBansal54083
 
Automate Cybersecurity Tasks with Python
VICTOR MAESTRE RAMIREZ
 
4K Video Downloader Plus Pro Crack for MacOS New Download 2025
bashirkhan333g
 
Empowering Asian Contributions: The Rise of Regional User Groups in Open Sour...
Shane Coughlan
 
Digger Solo: Semantic search and maps for your local files
seanpedersen96
 
SciPy 2025 - Packaging a Scientific Python Project
Henry Schreiner
 
Agentic Automation Journey Series Day 2 – Prompt Engineering for UiPath Agents
klpathrudu
 
유니티에서 Burst Compiler+ThreadedJobs+SIMD 적용사례
Seongdae Kim
 
AI + DevOps = Smart Automation with devseccops.ai.pdf
Devseccops.ai
 
Help for Correlations in IBM SPSS Statistics.pptx
Version 1 Analytics
 
[Solution] Why Choose the VeryPDF DRM Protector Custom-Built Solution for You...
Lingwen1998
 
Home Care Tools: Benefits, features and more
Third Rock Techkno
 
Ad

Guided overview of software frameworks qt framework

  • 1. Qt Framework GUIDED OVERVIEW OF SOFTWARE FRAMEWORKS
  • 2. WHAT WE’LL BE GOING THOUGH • Background • Tool architecture diagram • Reasons to use it • A simple use case example • Drawbacks
  • 3. QT • C++ Based, with support for other languages including QML and JavaScript (often used together) • Signals and slots mechanism, an extension to C++, generated by processing source files through Qt’s Meta Object Compiler tool • Been around a long time, began as a commercial framework in the 90’s, and now become more popular since being, more recently, made open-source • Next version will use CMake exclusively (see https://lists.qt- project.org/pipermail/development/2018- October/034023.html)
  • 4. Qt Creator (IDE Application) Source Code Qt Libraries Target Executable Compiler/Linker Build System qmake or CMake Qt Deployment Tool User Settings
  • 5. WHY SHOULD YOU USE QT • It’s free and opensource with much of it licensed under the GNU LGPL license allowing usage of Qt shared libraries with a closed source application. • No annoying splash screen, unlike Felgo or Unity • Truly cross-platform and allows a more uniform user experience across platforms thanks to the plugin abstraction architecture • Usable in other IDE’s, especially as Qt already has modules working with CMake. They also ship a plugin for Visual Studio (all product tiers). • Next-gen GPU scenegraph engine provided by the Quick module. • Already used in opensource programs including: VirtualBox, VLC, Wireshark, Musescore. • Targeted libraries for most major desktop, mobile and embedded systems.
  • 6. HELLO QUICK • A simple App using the same code base targeted to build for different platforms, showcasing the application engine class provided as part of the Quick module. • The engine renders every item to a buffer in passes using hardware accelerated API’s; OpenGL/ES on Android, OpenGL on Windows.
  • 7. DRAWBACKS • Some platforms may require some additional platform specific code. IE: Android needing a JNI call for launching an Intent. Luckily Qt Creator let’s you modify the other App files passed on to Gradle, so you can write additional Java classes to go along with Qt’s “boilerplate” Java classes. • Qt Quick designer plugin for QtC is still a WIP, it’s not perfect and crashes sometimes. • Runtime libraries contributing to larger installations exceeding >30 Mb compared to programs using more lightweight libraries like SDL or raw Windows API which measure in k/bytes, or even a .NET executable which is just as small. • C++ can be hard. • Some modules have a different license attached to them, other than GNU LGPL, such as GPL, which may prohibit usage in closed source programs, not even allowing dynamic linking.
  • 8. CLOSING REMARKS • It’s not perfect but it’s improving continually in these areas (to mention a few): • CMake support • Android deployment • Ideal if you want to develop applications more quickly with C++, compared to using smaller libraries like SDL. • Great for building traditional applications.