SlideShare ist ein Scribd-Unternehmen logo
1 von 33
Qt Embedded Johan Thelin / Bitsim
Biografi Använt Qt sedan år 2000. Flertal kundprojekt – både integration av Qt och slutanvändarapplikationer. Flertal seminarier. Artiklar för flera aktörer Trolltech, ICS, DMz, nätet. Boken FoQD ISBN: 1-59059-831-8
Var är Qt? “ Ett ramverk för att skapa  grafiska användargränssnitt. ”
Var är Qt? “ Ett ramverk för att skapa  grafiska användargränssnitt. ” QtGui
Var är Qt? “ Ett ramverk för att skapa  grafiska användargränssnitt. ” QtGui QtCore QtNetwork QtSql QtXml QtWebkit QtScript Phonon QtDBus ...
Varför Qt? ,[object Object]
Introspektion.
Förenklad hantering av dynamiskt minne.
Signaler och slotar. ,[object Object]
...och en lika underbar dokumentation!
Demo på fyra slides!
En klass #ifndef MYCLASS_H #define MYCLASS_H #include <QObject> class MyClass : public QObject { Q_OBJECT public: MyClass( int offset, QObject *parent=0 ); public slots: void setValue( int v ); signals: void valueChanged( int ); private: int m_offset; }; #endif // MYCLASS_H
Ett program #include <QApplication> #include <QDial> #include <QLabel> #include &quot;myclass.h&quot; MyClass::MyClass( int offset, QObject *parent ) : QObject(parent), m_offset(offset) {} void MyClass::setValue( int v ) { emit valueChanged( v+m_offset ); } int main( int argc, char **argv ) { QApplication app( argc, argv ); QDial d; QLabel l; MyClass c(42); QObject::connect( &d, SIGNAL(valueChanged(int)),  &c, SLOT(setValue(int)) ); QObject::connect( &c, SIGNAL(valueChanged(int)),  &l, SLOT(setNum(int)) ); d.show(); l.show(); return app.exec(); }
Under huven ,[object Object],*.cpp objektfiler binär *.h kompileras länkas inkluderas moc_*.cpp *.ui *.qrc uic rcc moc kompileras
Resultatet En QDial  som automatiskt uppdaterar en QLabel  , men med offset 42 – tillagt av MyClass-objektet. ,[object Object]
connect är dynamisk, kopplingen sker run-time.
Vi får återanvändbara komponenter!
Vad är Qt Embedded? Code less, create more,  deploy everywhere .
Vad är Qt Embedded? Code less, create more,  deploy everywhere . Qt är ett API. Samma kod kan byggas för samtliga plattformar: Windows, Mac OS X, *nix (X11), Linux + framebuffer, Windows CE, S60
Embedded Qt Qt for Windows CE Qt for S60 Qt for Embedded Linux
Varför Qt Embedded? ,[object Object],[object Object],[object Object]
Varför Qt Embedded? Verktyg
Verktyg - QtCreator
Verktyg - QtCreator
Verktyg - QtCreator
Verktyg -  QtCreator
Verktyg - QVFb Qt Virtual Framebuffer, emulerar: ,[object Object]
Bitdjup
Touch
Begränsat antal knappar
Verktyg - QVFb
Verktyg - QVFb
Varför Qt Embedded? Modulariserat

Weitere ähnliche Inhalte

Ähnlich wie Introduction to Qt Embedded

Molntjänster som it superhjältar
Molntjänster som it superhjältarMolntjänster som it superhjältar
Molntjänster som it superhjältar
Per Åström
 
Hessian - binärt Web Service-protokoll
Hessian - binärt Web Service-protokollHessian - binärt Web Service-protokoll
Hessian - binärt Web Service-protokoll
Mattias Jiderhamn
 
Cygni Powertools 1.0
Cygni Powertools 1.0Cygni Powertools 1.0
Cygni Powertools 1.0
guesta1bbb
 
Programmering efter PC-eran
Programmering efter PC-eranProgrammering efter PC-eran
Programmering efter PC-eran
Lars Gunther
 
Using Microformats to aggregate data
Using Microformats to aggregate dataUsing Microformats to aggregate data
Using Microformats to aggregate data
Gabriel Svennerberg
 

Ähnlich wie Introduction to Qt Embedded (20)

Integration i molnet med Scandic Hotels & iBiz Solutions
Integration i molnet med Scandic Hotels & iBiz SolutionsIntegration i molnet med Scandic Hotels & iBiz Solutions
Integration i molnet med Scandic Hotels & iBiz Solutions
 
Varje resa börjar med ett litet steg (internetdagarna 2011)
Varje resa börjar med ett litet steg (internetdagarna 2011)Varje resa börjar med ett litet steg (internetdagarna 2011)
Varje resa börjar med ett litet steg (internetdagarna 2011)
 
TypeScript DevSum 2013
TypeScript DevSum 2013TypeScript DevSum 2013
TypeScript DevSum 2013
 
Molntjänster som it superhjältar
Molntjänster som it superhjältarMolntjänster som it superhjältar
Molntjänster som it superhjältar
 
Molntjänster - inte bara teknik
Molntjänster - inte bara teknikMolntjänster - inte bara teknik
Molntjänster - inte bara teknik
 
Auto cad map 3d 2015 nyheter
Auto cad map 3d 2015 nyheterAuto cad map 3d 2015 nyheter
Auto cad map 3d 2015 nyheter
 
Hessian - binärt Web Service-protokoll
Hessian - binärt Web Service-protokollHessian - binärt Web Service-protokoll
Hessian - binärt Web Service-protokoll
 
Ajax
AjaxAjax
Ajax
 
Cygni Powertools 1.0
Cygni Powertools 1.0Cygni Powertools 1.0
Cygni Powertools 1.0
 
Docker i produktion på NyA
Docker i produktion på NyADocker i produktion på NyA
Docker i produktion på NyA
 
HT17 - DA156A - JavaScript i webbutveckling
HT17 - DA156A - JavaScript i webbutvecklingHT17 - DA156A - JavaScript i webbutveckling
HT17 - DA156A - JavaScript i webbutveckling
 
Nyheter i 2015 autodesks produkter
Nyheter i 2015   autodesks produkterNyheter i 2015   autodesks produkter
Nyheter i 2015 autodesks produkter
 
Programmering efter PC-eran
Programmering efter PC-eranProgrammering efter PC-eran
Programmering efter PC-eran
 
Cloud Computing - Mycket mer än IT
Cloud Computing - Mycket mer än ITCloud Computing - Mycket mer än IT
Cloud Computing - Mycket mer än IT
 
Revitalisering av legacy - är det möjligt - Joakim Lindbom
Revitalisering av legacy - är det möjligt - Joakim LindbomRevitalisering av legacy - är det möjligt - Joakim Lindbom
Revitalisering av legacy - är det möjligt - Joakim Lindbom
 
Queens Lab Företagspresentation 2019-03-20
Queens Lab Företagspresentation 2019-03-20Queens Lab Företagspresentation 2019-03-20
Queens Lab Företagspresentation 2019-03-20
 
Nyheter och tips i map2014
Nyheter och tips i map2014Nyheter och tips i map2014
Nyheter och tips i map2014
 
Varför ta steget till np19 & dcm
Varför ta steget till np19 & dcmVarför ta steget till np19 & dcm
Varför ta steget till np19 & dcm
 
Using Microformats to aggregate data
Using Microformats to aggregate dataUsing Microformats to aggregate data
Using Microformats to aggregate data
 
HT18 - DA156A - Webben och JavaScript
HT18 - DA156A - Webben och JavaScriptHT18 - DA156A - Webben och JavaScript
HT18 - DA156A - Webben och JavaScript
 

Mehr von Johan Thelin

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
 

Mehr von Johan Thelin (8)

Degrees of Freedom
Degrees of FreedomDegrees of Freedom
Degrees of Freedom
 
Hacktoberfest - An Open Source Story
Hacktoberfest - An Open Source StoryHacktoberfest - An Open Source Story
Hacktoberfest - An Open Source Story
 
Open Source on Wheels - Tech Day by Init 2017
Open Source on Wheels - Tech Day by Init 2017Open Source on Wheels - Tech Day by Init 2017
Open Source on Wheels - Tech Day by Init 2017
 
Qt Automotive Suite - under the hood // Qt World Summit 2017
Qt Automotive Suite - under the hood // Qt World Summit 2017Qt Automotive Suite - under the hood // Qt World Summit 2017
Qt Automotive Suite - under the hood // Qt World Summit 2017
 
Building the QML Run-time
Building the QML Run-timeBuilding the QML Run-time
Building the QML Run-time
 
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 Workshop
Qt WorkshopQt Workshop
Qt Workshop
 
Cross Platform Qt
Cross Platform QtCross Platform Qt
Cross Platform Qt
 

Introduction to Qt Embedded