SlideShare ist ein Scribd-Unternehmen logo
1 von 18
Downloaden Sie, um offline zu lesen
Intro to Qt
      GUI programming with C++

                         by Đức Phạm
                Organized by




Qt is a registered product of Digia
Đức Phạm


   Email: inducpham@gmail.com
   Bachelor of IT since 2009
   Linux enthusiast
   Worked in Gameloft and now is East Agile
   Interest in Game and Web development
History


   Developed by Trolltech
   Acquired by Nokia
   Commercial license took over by Digia
In a nutshell


   Qt is ‘cute’
   Cross-platform GUI library for the C++
    programming language
   A complete interface environment with support
    for Webkit API, media streamer, file system
    browser, OpenGL API, etc.
VLC 2.x running in
Windows, OS X 10.7
  and Debian Linux
In a nutshell (continue)


   Support embedded Linux
   Smart phones: Maemo, Meego, etc.
   Electronic devices: Car, TV, etc.
   Feature road map including support for
    popular mobile platforms such as
    Android and iOS.
Legal stuff


   Qt offers three licenses:
       GPL v3
       lGPL
       Digia commercial license
Installation


   Official download: http://qt-project.org/downloads
       Official IDE: QtCreator
       Visual Studio add-in


   Debian repository:
       sudo apt-get install qtcreator qtcreator-dbg
Technical features


   Customized precompiler: signal and slot
Technical features (continue)


   Signals don’t need to be implemented, but
    rather called


   Signals and slots can be connected:
       Regardless of which object
       Many-many relationship
       Could be disconnected
Technical features (continue)


Features the parent-child relationship
   A child widget when created could reference to
    a parent widget. This allows:
       Hierarchy search: findChild() and
        findChildren()
       Chain destructor on parent de-allocating
Tech demo
Qt in the world


   Industrial
        Skype
        VirtualBox
        Maya
        Opera
        Various embedded software
Qt in the world (continue)


KDE
   Complete desktop environment in Qt
   Including the Plasma Window manager


   Projects including Office Applications
   Development suite: Kdevelop
   Common desktop applications
Qt in the world (continue)


Open source projects
   Qt razor
    http://qt-apps.org/
Further references


   http://qt-project.org/doc/qt-4.8/
   http://www.youtube.com/user/VoidRealms
   http://www.kde.org/developerplatform/
   http://qt-apps.org/
Questions?
Thank you!

Weitere ähnliche Inhalte

Was ist angesagt?

Necessitas - Qt on Android - from FSCONS 2011
Necessitas - Qt on Android - from FSCONS 2011Necessitas - Qt on Android - from FSCONS 2011
Necessitas - Qt on Android - from FSCONS 2011
Johan Thelin
 

Was ist angesagt? (20)

Qt quick (qml)
Qt quick (qml)Qt quick (qml)
Qt quick (qml)
 
了解 Qt
了解 Qt了解 Qt
了解 Qt
 
Introduction to Qt Creator
Introduction to Qt CreatorIntroduction to Qt Creator
Introduction to Qt Creator
 
Treinamento Qt básico - aula I
Treinamento Qt básico - aula ITreinamento Qt básico - aula I
Treinamento Qt básico - aula I
 
Qt 6.2 lts vs. qt 5.15 the big feature parity comparison
Qt 6.2 lts vs. qt 5.15 the big feature parity comparisonQt 6.2 lts vs. qt 5.15 the big feature parity comparison
Qt 6.2 lts vs. qt 5.15 the big feature parity comparison
 
Contributions to an open source project: Igalia and the Chromium project
Contributions to an open source project: Igalia and the Chromium projectContributions to an open source project: Igalia and the Chromium project
Contributions to an open source project: Igalia and the Chromium project
 
Case Study: Using Qt to Develop Advanced GUIs & Advanced Visualization Software
Case Study: Using Qt to Develop Advanced GUIs & Advanced Visualization SoftwareCase Study: Using Qt to Develop Advanced GUIs & Advanced Visualization Software
Case Study: Using Qt to Develop Advanced GUIs & Advanced Visualization Software
 
Migrating from Photon to Qt
Migrating from Photon to QtMigrating from Photon to Qt
Migrating from Photon to Qt
 
Qt for beginners part 5 ask the experts
Qt for beginners part 5   ask the expertsQt for beginners part 5   ask the experts
Qt for beginners part 5 ask the experts
 
Knowit study group örnsköldsvik - introduction to qt & qt creator
Knowit   study group örnsköldsvik - introduction to qt & qt creatorKnowit   study group örnsköldsvik - introduction to qt & qt creator
Knowit study group örnsköldsvik - introduction to qt & qt creator
 
Creating Slick User Interfaces With Qt
Creating Slick User Interfaces With QtCreating Slick User Interfaces With Qt
Creating Slick User Interfaces With Qt
 
Qt introduction
Qt introductionQt introduction
Qt introduction
 
Network-Connected Development with ZeroMQ
Network-Connected Development with ZeroMQNetwork-Connected Development with ZeroMQ
Network-Connected Development with ZeroMQ
 
Modern microcontroller (mcu) application development with qt
Modern microcontroller (mcu) application development with qtModern microcontroller (mcu) application development with qt
Modern microcontroller (mcu) application development with qt
 
Cross Platform Qt
Cross Platform QtCross Platform Qt
Cross Platform Qt
 
Qt App Development - Cross-Platform Development for Android, iOS, Windows Pho...
Qt App Development - Cross-Platform Development for Android, iOS, Windows Pho...Qt App Development - Cross-Platform Development for Android, iOS, Windows Pho...
Qt App Development - Cross-Platform Development for Android, iOS, Windows Pho...
 
Necessitas - Qt on Android - from FSCONS 2011
Necessitas - Qt on Android - from FSCONS 2011Necessitas - Qt on Android - from FSCONS 2011
Necessitas - Qt on Android - from FSCONS 2011
 
Qt 5 - C++ and Widgets
Qt 5 - C++ and WidgetsQt 5 - C++ and Widgets
Qt 5 - C++ and Widgets
 
Qt for beginners part 1 overview and key concepts
Qt for beginners part 1   overview and key conceptsQt for beginners part 1   overview and key concepts
Qt for beginners part 1 overview and key concepts
 
Chromium on Wayland Desktop (BlinkOn 7)
Chromium on Wayland Desktop (BlinkOn 7)Chromium on Wayland Desktop (BlinkOn 7)
Chromium on Wayland Desktop (BlinkOn 7)
 

Andere mochten auch

Cross platform solutions for Mobile App Development
Cross platform solutions for Mobile App Development Cross platform solutions for Mobile App Development
Cross platform solutions for Mobile App Development
USAID CEED II Project Moldova
 
Cross platform development
Cross platform developmentCross platform development
Cross platform development
dftaiwo
 
"How to Develop with Qt for Multiple Screen Resolutions and Increase Your Use...
"How to Develop with Qt for Multiple Screen Resolutions and Increase Your Use..."How to Develop with Qt for Multiple Screen Resolutions and Increase Your Use...
"How to Develop with Qt for Multiple Screen Resolutions and Increase Your Use...
FELGO SDK
 
Vechicle accident prevention using eye bilnk sensor ppt
Vechicle accident prevention using eye bilnk sensor pptVechicle accident prevention using eye bilnk sensor ppt
Vechicle accident prevention using eye bilnk sensor ppt
satish 486
 

Andere mochten auch (20)

A Brief Introduction to the Qt Application Framework
A Brief Introduction to the Qt Application FrameworkA Brief Introduction to the Qt Application Framework
A Brief Introduction to the Qt Application Framework
 
Qt 入門就上手 !!
Qt 入門就上手 !!Qt 入門就上手 !!
Qt 入門就上手 !!
 
The Mobile Market and Qt
The Mobile Market and QtThe Mobile Market and Qt
The Mobile Market and Qt
 
Qt Application Development on Harmattan
Qt Application Development on HarmattanQt Application Development on Harmattan
Qt Application Development on Harmattan
 
Cross platform solutions for Mobile App Development
Cross platform solutions for Mobile App Development Cross platform solutions for Mobile App Development
Cross platform solutions for Mobile App Development
 
Cross platform development
Cross platform developmentCross platform development
Cross platform development
 
Building Cross-Platform Apps using Qt and Qyoto
Building Cross-Platform Apps using Qt and QyotoBuilding Cross-Platform Apps using Qt and Qyoto
Building Cross-Platform Apps using Qt and Qyoto
 
Cross platform mobile app development tools review
Cross platform mobile app development tools reviewCross platform mobile app development tools review
Cross platform mobile app development tools review
 
Qt Application Development
Qt Application DevelopmentQt Application Development
Qt Application Development
 
"How to Develop with Qt for Multiple Screen Resolutions and Increase Your Use...
"How to Develop with Qt for Multiple Screen Resolutions and Increase Your Use..."How to Develop with Qt for Multiple Screen Resolutions and Increase Your Use...
"How to Develop with Qt for Multiple Screen Resolutions and Increase Your Use...
 
How to Make Your Qt App Look Native
How to Make Your Qt App Look NativeHow to Make Your Qt App Look Native
How to Make Your Qt App Look Native
 
Mobile Development with Qt for Symbian
Mobile Development with Qt for SymbianMobile Development with Qt for Symbian
Mobile Development with Qt for Symbian
 
Raspberry-PI introduction
Raspberry-PI introductionRaspberry-PI introduction
Raspberry-PI introduction
 
Introduction to raspberry pi
Introduction to raspberry piIntroduction to raspberry pi
Introduction to raspberry pi
 
Optimizing Performance in Qt-Based Applications
Optimizing Performance in Qt-Based ApplicationsOptimizing Performance in Qt-Based Applications
Optimizing Performance in Qt-Based Applications
 
Raspberry pi : an introduction
Raspberry pi : an introductionRaspberry pi : an introduction
Raspberry pi : an introduction
 
Raspberry pi
Raspberry pi Raspberry pi
Raspberry pi
 
General Psychology: Chapter 1
General Psychology: Chapter 1General Psychology: Chapter 1
General Psychology: Chapter 1
 
Dec 2012 NLE TIPS MS (A)
Dec 2012 NLE TIPS MS (A)Dec 2012 NLE TIPS MS (A)
Dec 2012 NLE TIPS MS (A)
 
Vechicle accident prevention using eye bilnk sensor ppt
Vechicle accident prevention using eye bilnk sensor pptVechicle accident prevention using eye bilnk sensor ppt
Vechicle accident prevention using eye bilnk sensor ppt
 

Ähnlich wie Qt Tutorial - Part 1

Add the power of the Web to your embedded devices with WPE WebKit
Add the power of the Web to your embedded devices with WPE WebKitAdd the power of the Web to your embedded devices with WPE WebKit
Add the power of the Web to your embedded devices with WPE WebKit
Igalia
 
The internet of things in now , see how golang is a part of this evolution
The internet of things in now , see how golang is a part of this evolutionThe internet of things in now , see how golang is a part of this evolution
The internet of things in now , see how golang is a part of this evolution
Yoni Davidson
 
Google Android Naver 1212
Google Android Naver 1212Google Android Naver 1212
Google Android Naver 1212
Yoojoo Jang
 
Nassim_TLILI_resume
Nassim_TLILI_resumeNassim_TLILI_resume
Nassim_TLILI_resume
Nassim TLILI
 
Quick Review of Desktop and Native Apps using Javascript
Quick Review of Desktop and Native Apps using JavascriptQuick Review of Desktop and Native Apps using Javascript
Quick Review of Desktop and Native Apps using Javascript
Robert Ellen
 

Ähnlich wie Qt Tutorial - Part 1 (20)

Qt
QtQt
Qt
 
Trolltech: Qtopia introduction at Overtheair (London 2008)
Trolltech: Qtopia introduction at Overtheair (London 2008)Trolltech: Qtopia introduction at Overtheair (London 2008)
Trolltech: Qtopia introduction at Overtheair (London 2008)
 
Andreas Jakl Software Development on Nokia Deviceswith Qt
Andreas Jakl Software Development on Nokia Deviceswith QtAndreas Jakl Software Development on Nokia Deviceswith Qt
Andreas Jakl Software Development on Nokia Deviceswith Qt
 
Add the power of the Web to your embedded devices with WPE WebKit
Add the power of the Web to your embedded devices with WPE WebKitAdd the power of the Web to your embedded devices with WPE WebKit
Add the power of the Web to your embedded devices with WPE WebKit
 
PyQt Application Development On Maemo
PyQt Application Development On MaemoPyQt Application Development On Maemo
PyQt Application Development On Maemo
 
Qt S60 Technical Presentation Fn Stripped
Qt S60 Technical Presentation Fn StrippedQt S60 Technical Presentation Fn Stripped
Qt S60 Technical Presentation Fn Stripped
 
Alvaro Denis Resume
Alvaro Denis ResumeAlvaro Denis Resume
Alvaro Denis Resume
 
Developing and Benchmarking Qt applications on Hawkboard with Xgxperf
Developing and Benchmarking Qt applications on Hawkboard with XgxperfDeveloping and Benchmarking Qt applications on Hawkboard with Xgxperf
Developing and Benchmarking Qt applications on Hawkboard with Xgxperf
 
The internet of things in now , see how golang is a part of this evolution
The internet of things in now , see how golang is a part of this evolutionThe internet of things in now , see how golang is a part of this evolution
The internet of things in now , see how golang is a part of this evolution
 
Google Android Naver 1212
Google Android Naver 1212Google Android Naver 1212
Google Android Naver 1212
 
Meet Qt
Meet QtMeet Qt
Meet Qt
 
Software development with qt
Software development with qtSoftware development with qt
Software development with qt
 
Software development with qt
Software development with qtSoftware development with qt
Software development with qt
 
Qtframework
QtframeworkQtframework
Qtframework
 
Nassim_TLILI_resume
Nassim_TLILI_resumeNassim_TLILI_resume
Nassim_TLILI_resume
 
Qt Creator, l'arma segreta!
Qt Creator, l'arma segreta!Qt Creator, l'arma segreta!
Qt Creator, l'arma segreta!
 
Qt user interface
Qt user interfaceQt user interface
Qt user interface
 
C language in our world 2019
C language in our world 2019C language in our world 2019
C language in our world 2019
 
Epam mobile meetup 2014 10-15 qt cross-platform solution for mobile development
Epam mobile meetup 2014 10-15 qt cross-platform solution for mobile developmentEpam mobile meetup 2014 10-15 qt cross-platform solution for mobile development
Epam mobile meetup 2014 10-15 qt cross-platform solution for mobile development
 
Quick Review of Desktop and Native Apps using Javascript
Quick Review of Desktop and Native Apps using JavascriptQuick Review of Desktop and Native Apps using Javascript
Quick Review of Desktop and Native Apps using Javascript
 

Kürzlich hochgeladen

Kürzlich hochgeladen (20)

Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
Developing An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilDeveloping An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of Brazil
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdf
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
Advantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessAdvantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your Business
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
 

Qt Tutorial - Part 1

  • 1. Intro to Qt GUI programming with C++ by Đức Phạm Organized by Qt is a registered product of Digia
  • 2. Đức Phạm  Email: inducpham@gmail.com  Bachelor of IT since 2009  Linux enthusiast  Worked in Gameloft and now is East Agile  Interest in Game and Web development
  • 3. History  Developed by Trolltech  Acquired by Nokia  Commercial license took over by Digia
  • 4. In a nutshell  Qt is ‘cute’  Cross-platform GUI library for the C++ programming language  A complete interface environment with support for Webkit API, media streamer, file system browser, OpenGL API, etc.
  • 5. VLC 2.x running in Windows, OS X 10.7 and Debian Linux
  • 6. In a nutshell (continue)  Support embedded Linux  Smart phones: Maemo, Meego, etc.  Electronic devices: Car, TV, etc.  Feature road map including support for popular mobile platforms such as Android and iOS.
  • 7. Legal stuff  Qt offers three licenses:  GPL v3  lGPL  Digia commercial license
  • 8. Installation  Official download: http://qt-project.org/downloads  Official IDE: QtCreator  Visual Studio add-in  Debian repository:  sudo apt-get install qtcreator qtcreator-dbg
  • 9. Technical features  Customized precompiler: signal and slot
  • 10. Technical features (continue)  Signals don’t need to be implemented, but rather called  Signals and slots can be connected:  Regardless of which object  Many-many relationship  Could be disconnected
  • 11. Technical features (continue) Features the parent-child relationship  A child widget when created could reference to a parent widget. This allows:  Hierarchy search: findChild() and findChildren()  Chain destructor on parent de-allocating
  • 13. Qt in the world  Industrial  Skype  VirtualBox  Maya  Opera  Various embedded software
  • 14. Qt in the world (continue) KDE  Complete desktop environment in Qt  Including the Plasma Window manager  Projects including Office Applications  Development suite: Kdevelop  Common desktop applications
  • 15. Qt in the world (continue) Open source projects  Qt razor http://qt-apps.org/
  • 16. Further references  http://qt-project.org/doc/qt-4.8/  http://www.youtube.com/user/VoidRealms  http://www.kde.org/developerplatform/  http://qt-apps.org/