0% found this document useful (0 votes)
48 views23 pages

An Introduction To QT: Jeremy Katz QT Development Frameworks - Nokia

This document provides an introduction and overview of Qt, an application framework for building graphical user interfaces. Some key points: - Qt is a C++ framework that started in 1993 and is used widely in industry applications like HP printers, coffee machines, and software like Autodesk Maya. - It supports development on Linux, Mac OS X, Windows, Symbian and other platforms. It can be licensed under GPL, LGPL, or commercially. - Qt includes tools for UI design, editing, compiling, deploying, and debugging applications. It uses C++ but has bindings for other languages. - Qt provides modules for core functionality, GUI, multimedia, networking, OpenGL, XML, web content
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
48 views23 pages

An Introduction To QT: Jeremy Katz QT Development Frameworks - Nokia

This document provides an introduction and overview of Qt, an application framework for building graphical user interfaces. Some key points: - Qt is a C++ framework that started in 1993 and is used widely in industry applications like HP printers, coffee machines, and software like Autodesk Maya. - It supports development on Linux, Mac OS X, Windows, Symbian and other platforms. It can be licensed under GPL, LGPL, or commercially. - Qt includes tools for UI design, editing, compiling, deploying, and debugging applications. It uses C++ but has bindings for other languages. - Qt provides modules for core functionality, GUI, multimedia, networking, OpenGL, XML, web content
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 23

An Introduction to Qt

Jeremy Katz
<jeremy.katz {at} nokia.com>
Qt Development Frameworks - Nokia
About me
Qt developer for < 1
year
Focus: Embedded Linux
development
An Oslo troll
What is Qt?

● History: Development started around 1993


● Used by KDE since inception
● Proven in industry
Qt in the field
● HP printers
● HGZ coffee machines
● Autodesk Maya 2011
● Roku Netflix player
● Videolan vlc
● Asus Skype phones
Platform support
● Linux
● Display options: X11, Qt Windowing System (QWS)
● CPU options: X86, x86_64, ARM, PPC, MIPS
● Mac OS X
● Carbon and Cocoa
● Windows
● Desktop: XP, Vista
● Mobile: CE
● Symbian
● Solaris, AIX, HPUX, vxWorks, ...
Licensing options

● GPL 3.0
● LGPL 2.1
● Commercial
Can we help you?
Support is available in several forms
● Commercial: available for all license models
● Large user community
● Qt training
● And certification

Qt Certified Developer
What is Qt?
Technical level:
● An application framework
● Written in C++
● Other language bindings exist
● An IDE for all desktop platforms
Qt Creator

An IDE built on and for Qt

●UI Design
●Edit

●Compile

●Deploy & Debug

●API Help
What is Qt?
Technical level:
● An application framework
● Written in C++
● Other language bindings exist
● An IDE for supported desktop platforms
● Platform independent build tools
Open development model
● Git access
● Transparent Development Process
● Development staff blogs
● Developers regularly available on IRC
On to the good stuff
Ready to use

Embed a web browser in an application:


Ready to use

Embed a web browser in an application:


1 #include <QtGui/QApplication>
2 #include <QWebView>
3
4 int main(int argc, char *argv[])
5 {
6 QApplication a(argc, argv);
7 QWebView webView;
8 webView.show();
9 webView.load(QUrl("http://labs.trolltech.com"));
10 return a.exec();
11 }
Capture

Capture that web page to SVG:


#include <QtSvg/QSvgGenerator>
#include <QtGui/QPainter>

...
QsvgGenerator generator;
generator.setFileName(...);
Qpainter painter(&generator);
webView.render(&painter);
The pieces you need
The pieces you need

● Core ● Scripting
● Gui ● SQL
● Multimedia ● Webkit
● Networking ● XML
● OpenGL ● SVG
UI Development options
UI Development options

Html
Javascript
QML
QML?

A declarative UI language
Javascript for logic
A Qt language binding
A Quick QML Demo

Demo source can be found under


demos/declarative/ in the Qt 4.7 technology
preview.

http://qt.nokia.com/developer/qt-qtcreator-prerelease
More information

General Information: http://qt.nokia.com

Source Code: http://qt.gitorious.org


Questions?

You might also like