ݺߣ

ݺߣShare a Scribd company logo
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? Riktigt, kompilerat, språk: C++ (och Java...)
Introspektion.
Förenklad hantering av dynamiskt minne.
Signaler och slotar. Ett API att förälska sig i...
...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 QMake hanterar detta för din plattform! *.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. MyClass känner varken till QDial eller QLabel.
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? Verktyg Modulariserat Anpassningsbart
Varför Qt Embedded? Verktyg
Verktyg - QtCreator
Verktyg - QtCreator
Verktyg - QtCreator
Verktyg -  QtCreator
Verktyg - QVFb Qt Virtual Framebuffer, emulerar: Skärmupplösning
Bitdjup
Touch
Begränsat antal knappar
Verktyg - QVFb
Verktyg - QVFb
Varför Qt Embedded? Modulariserat

More Related Content

Introduction to Qt Embedded