Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Introduction to Qt

Introduction to Qt

Qt Introduction, Modules

Navneet Ojha

July 31, 2013
Tweet

More Decks by Navneet Ojha

Other Decks in Programming

Transcript

  1. Introduction Licensing Modules Qt Tools Introduction Introduction Cross-platform application programming

    framework C++ class library Development tools Ported in various platforms Desktops Mobile platforms e.g. Linux, Windows, MacOS e.g. Maemo, WinCE, S60 Qt is pronounced as “cute” http://respark.in/
  2. Introduction Licensing Modules Qt Tools Introduction Introduction Cross-platform application programming

    framework C++ class library Development tools Ported in various platforms Desktops Mobile platforms e.g. Linux, Windows, MacOS e.g. Maemo, WinCE, S60 Qt is pronounced as “cute” http://respark.in/
  3. Introduction Licensing Modules Qt Tools Introduction Introduction Cross-platform application programming

    framework C++ class library Development tools Ported in various platforms Desktops Mobile platforms e.g. Linux, Windows, MacOS e.g. Maemo, WinCE, S60 Qt is pronounced as “cute” http://respark.in/
  4. Introduction Licensing Modules Qt Tools Introduction Introduction Cross-platform application programming

    framework C++ class library Development tools Ported in various platforms Desktops Mobile platforms e.g. Linux, Windows, MacOS e.g. Maemo, WinCE, S60 Qt is pronounced as “cute” http://respark.in/
  5. Introduction Licensing Modules Qt Tools Introduction Introduction Cross-platform application programming

    framework C++ class library Development tools Ported in various platforms Desktops Mobile platforms e.g. Linux, Windows, MacOS e.g. Maemo, WinCE, S60 Qt is pronounced as “cute” http://respark.in/
  6. Introduction Licensing Modules Qt Tools Introduction Introduction Cross-platform application programming

    framework C++ class library Development tools Ported in various platforms Desktops Mobile platforms e.g. Linux, Windows, MacOS e.g. Maemo, WinCE, S60 Qt is pronounced as “cute” http://respark.in/
  7. Introduction Licensing Modules Qt Tools Introduction Introduction Cross-platform application programming

    framework C++ class library Development tools Ported in various platforms Desktops Mobile platforms e.g. Linux, Windows, MacOS e.g. Maemo, WinCE, S60 Qt is pronounced as “cute” http://respark.in/
  8. Introduction Licensing Modules Qt Tools Some Programs developed with Qt

    KDE and KDE’s applications Google Earth Skype Opera web browser http://respark.in/
  9. Introduction Licensing Modules Qt Tools History Brief History Development begun

    in 1991 by Haavard Nord and Eirik Chambe-Eng Trolltech company was founded in 1994 Main products were Qt Framework and Qt Extended (formerly known as Qtopia platform) Nokia acquired Trolltech in 2008 Trolltech renamed to Qt Software Renamed again to Qt Development Frameworks http://respark.in/
  10. Introduction Licensing Modules Qt Tools History Brief History Development begun

    in 1991 by Haavard Nord and Eirik Chambe-Eng Trolltech company was founded in 1994 Main products were Qt Framework and Qt Extended (formerly known as Qtopia platform) Nokia acquired Trolltech in 2008 Trolltech renamed to Qt Software Renamed again to Qt Development Frameworks http://respark.in/
  11. Introduction Licensing Modules Qt Tools History Brief History Development begun

    in 1991 by Haavard Nord and Eirik Chambe-Eng Trolltech company was founded in 1994 Main products were Qt Framework and Qt Extended (formerly known as Qtopia platform) Nokia acquired Trolltech in 2008 Trolltech renamed to Qt Software Renamed again to Qt Development Frameworks http://respark.in/
  12. Introduction Licensing Modules Qt Tools Licensing Licensing Originally dual licensed

    Commercial license for closed source projects GPL license for open source projects First GPL’ed Windows version was Qt 4.0 (in 2005) From Qt 4.5 and onwards (on March 2009) Qt is also available as LGPL license http://respark.in/
  13. Introduction Licensing Modules Qt Tools Licensing Licensing Originally dual licensed

    Commercial license for closed source projects GPL license for open source projects First GPL’ed Windows version was Qt 4.0 (in 2005) From Qt 4.5 and onwards (on March 2009) Qt is also available as LGPL license http://respark.in/
  14. Introduction Licensing Modules Qt Tools Licensing Licensing Originally dual licensed

    Commercial license for closed source projects GPL license for open source projects First GPL’ed Windows version was Qt 4.0 (in 2005) From Qt 4.5 and onwards (on March 2009) Qt is also available as LGPL license http://respark.in/
  15. Introduction Licensing Modules Qt Tools Licensing Licensing Originally dual licensed

    Commercial license for closed source projects GPL license for open source projects First GPL’ed Windows version was Qt 4.0 (in 2005) From Qt 4.5 and onwards (on March 2009) Qt is also available as LGPL license http://respark.in/
  16. Introduction Licensing Modules Qt Tools Why Qt? Why Qt? High

    productivity “Write once – deploy everywhere” “Code less” Flexible licensing Object oriented No oldish “granny-C” Fun to use Well designed APIs Doesn’t suck http://respark.in/
  17. Introduction Licensing Modules Qt Tools Qt Core QObject Heart of

    Qt’s object model QCoreApplication Console application’s event loop Data types e.g. QString, QChar Containers e.g. QList, QVector, QMap File access e.g. QFile, QTextStream Threads and processes e.g. QThread, QProcess, QMutex Timers etc. http://respark.in/
  18. Introduction Licensing Modules Qt Tools Qt GUI Widget library Toolbar,

    Tabs, Status bar, Splash screen, progress, Menu, Line Edit, Label, LCD Number, Text Edit, List View, Tree View, Calendar, Slider, Buttons, etc. Dialogs Progress, Message, Input, Font, File, Error, Color, Printing, etc. Widget layout management MainWindow GraphicsView http://respark.in/
  19. Introduction Licensing Modules Qt Tools Some other modules QtNetwork TCP,

    UDP, FTP/HTTP client, URL parsing QtSQL MySQL, Oracle, ODBC, PostgreSQL, Sybase, IBM DB2, SQLite, Borland InterBase QtXml read/write XML data QtWebKit Web browser http://respark.in/
  20. Introduction Licensing Modules Qt Tools Build Tools configure script that

    configures Qt itself for different platforms qmake script that configures Qt itself for different platforms hides platform specific building specialities code generators Meta-Object Complier (MOC) Generates meta-object C++ source files based on keywords UI Compiler (UIC) Converts .ui (XML) files to C++ header files RCC Resource compiler http://respark.in/
  21. Introduction Licensing Modules Qt Tools Development Tools Qt Designer Drag

    and drop GUI layout and forms builder writes results in .ui files (XML) Qt Assistant Excellent documentation Examples Qt Linguist Localization tool http://respark.in/
  22. Introduction Licensing Modules Qt Tools Qt Creator – a cross-platform

    IDE Smart code editor Project wizard Integrated help Integrated UI designer Debugging interface http://respark.in/
  23. Introduction Licensing Modules Qt Tools Qt Creator – a cross-platform

    IDE Smart code editor Project wizard Integrated help Integrated UI designer Debugging interface http://respark.in/
  24. Introduction Licensing Modules Qt Tools Qt Creator – a cross-platform

    IDE Smart code editor Project wizard Integrated help Integrated UI designer Debugging interface http://respark.in/
  25. Introduction Licensing Modules Qt Tools Qt Creator – a cross-platform

    IDE Smart code editor Project wizard Integrated help Integrated UI designer Debugging interface http://respark.in/
  26. Introduction Licensing Modules Qt Tools Qt Creator – a cross-platform

    IDE Smart code editor Project wizard Integrated help Integrated UI designer Debugging interface http://respark.in/
  27. Introduction Licensing Modules Qt Tools Qt Creator – a cross-platform

    IDE Smart code editor Project wizard Integrated help Integrated UI designer Debugging interface http://respark.in/
  28. Introduction Licensing Modules Qt Tools Architectural considerations Meta-Object System Qt’s

    way to extends standard C++ Signal-slot mechanism The trick is done at compile-time Meta-Object compiler (MOC) reads a C++ source file and generates another source file containing meta-object code qmake does all the hard work so developers may just use the advantages of the Meta-Object System http://respark.in/
  29. Introduction Licensing Modules Qt Tools Signals and Slots Dynamically and

    loosely tie together events and state changes with reactions. What makes Qt perform functions http://respark.in/