SEMI

Präsentation

Präsentation


T. D.
Diese Lernkarten bieten einen umfassenden Überblick über die Qt-Bibliothek und ihre Anwendung in der Softwareentwicklung. Sie behandeln zentrale Themen wie die Entwicklung von Widgets, die Nutzung des Qt-Creators und die Integration von C++-Klassen. Besonders hervorgehoben werden die Vor- und Nachteile von Qt, die Entwicklungsgeschichte von KDE und Qt sowie praktische Beispiele wie das Hello-World-Programm. Diese Karteikarten richten sich an Studierende und Entwickler, die sich mit der Erstellung von grafischen Benutzeroberflächen und der Nutzung von Qt vertraut machen möchten.
Cartes-fiches
10
Utilisateurs
1
Langue
Allemand
Catégorie
Informatique
Niveau
Université
Créé / Mis à jour
11.06.2015 / 11.06.2015

Cartes-fiches

Einführung ?

Hallo und Herzlich Willkommen zu unserm Vortrag über Die Qt Grafikbibliothek und die KDE Software Compilation

Während mein Kollege Michael Fröhlich euch einen Einblick in die SchwerPunkte der Begrifflichkeiten, und der KDE Software Compilation 4 gibt, werde

Ich Tim-David Delnef mich mehr darum kümmern euch die Entwicklungsgeschichte und das Thema Qt näher zu bringen! Kommen wir nun zu unser Gliederung

Gliederung ?

Unsere Gliederung ist wie folgt aufgebaut

1) Als ersten Punkt haben wir hier ein paar Begrifflichkeiten um euch den Einstieg zu erleichtern

2) Dann erzähl ich euch etwas über die Entwicklungsgeschichte der Qt und der KDE

3) Um euch dann einen Einblick in die Qt zugeben

4) Den Abschluss macht dann mein Kollege Michael Fröhlich mit KDE Software Compilation

Entwicklungsgeschichte Qt

Beginn der Entwicklung 1991 durch Haavard Nord & Eirik Chambe-Eng und später Geschäftsführer von TrollTech.

Qt stammt daher das nach Haavard Nords empfinden das Q besonders hübsch anzusehen war in seinem damaligen Text-Editor somit cute war. Das T bedeutet so viel wie Toolkit

Sie begannen 3 Jahre vor der Gründung des Unternehmens Quasar Technologies mit der Entwicklung des Programms.

1998 Noch bevor Qt doppeltlizenziert wurde, wurde die KDE Free Qt Foundation ins Leben gerufen die verhindern sollte das Qt im Falle einer Insolvenz oder Übernahme von TrollTech unter eine restriktivere Lizenz fallen

2001 Version 3.0 ermöglichte mehreren Betriebssystemen Qt zu benutzen, Anfangs nur Unix und Windows

2008 Bezahlte Nokia 150 Mio Euro an TrollTech

Um es 2011 dem Finnischen Unternehmen Digia zu Verkaufen

Entwicklungsgeschichte KDE ?

1996 Entstehung des Projekts durch Matthias Ettrich unter dem Namen Kool Desktop Environment der sich an der damals vorhandenen BenutzerOberfläche CDE von Unix orientierte sie an der Programmiersprache C++ und der OberflächenBibliothek Qt. Die Idee dahinter stand mit KDE eine freie Verfügbare BenutzerOberfläche zu erschaffen die der CDE unter Unix ähnelt. Die CDE von Unix gab es damals eben nur in eingeschränkter Version.

1998 kam die Finale Version von KDE1.0 heraus die viel Kritik einstecken musste aufgrund der Verwendung von der damals noch unfreien OberflächenBibliothek Qt. Bedingt durch den Druck der auf TrollTech ausgeübt wurde entschied sich Qt im Jahre 1999 eine speziellere freierer Version von Qt auf den Markt zu bringen.

2000 folgte dann der finale Durchbruch mit der Version 2.0

2002 kam Version 3.0 raus

2008 kam die KDE Software Compilation 4 unter dem Namen Krash raus die jetzt auch direkt unter Windows und MacOs verwendbar war

2009 entgültige Namensänderung in KDE und Matthias Ettrich wurde mit dem Bundesverdienstkreuz geehrt.

Sie kennen schon Qt !!!

Qt ist eine C++ Klassenbibliothek mit dem Hauptverwendungszweck Graphische BenutzerOberflächen für unterschiedliche Betriebssysteme zu entwerfen ohne jedes mal den Code neu schreiben

 

Da haben wir zum einen

Adobe Photoshop Elements

VlC Media Player

Musikstreaming Software Spotify allerdings nur unter Linux

Skype zum Beispiel aber auch nur unter Linux

Das Rennspiel Need for Speed The Run

Oder auch z.B Google Earth

Qt Creator ?

Hier haben wir nun das Program Qt Creator in diesem lässt es sich über den Editor ganz normal im C++ format programmieren oder auch über den Qdesigner gerade das äußerliche sehr einfach bearbeiten was ich euch später noch zeigen werden schauen wir uns die einzelnen Modien mal an.

 

Hier seht ihr nun ein Ausschnitt der Qt- Klassen auf die ich jetzt nicht weiter eingehen werde da es doch zu Umfangreich ist mit über 1100 Klassen aber auf die Widgets z.B die zur Graphical User Interface dienen werd ich noch etwas vertiefen

 

Kommen wir nun also zu den Widgets

Qt Widgets

Zu den wichtigsten Widgets gehören die

Buttons InputWidgets DisplayWidgets Layout Space die ich anhand dieser Folien erklärt habe

Buttons sind SteuerElemente die auf Klicks Reagieren

InputWidgets dienen der Dateieingabe

DisplayWidgets Zeigen Informationen an

Layouts Dienen der Anordnung von Widgets sind selbst aber keine Widgets

Spacers Leisten Hilfe bei der Anordnung von Widgets und fügen zustätzliche Abstände ein

Hello World Programm

Nehmen wir uns nun das Beispiel des Hello World Programms vor hier seht ihr ein Auszug des ProgrammCodes aus dem QtCreator

Die QApplication stellt die Basis dar der QPushButton hello erzeugt einen Button mit der Beschriftung Hello World

Hello.Resize gibt die Größe des Buttons Hello an

Hello.show wird zum Button darfstellen benötigt return app.exec gibt die Kontrolle an QApplication ab

 

Schauen wir uns also an was wir also erstellt haben einen Button mit der Schaltfläche Hello World aber was geschieht dabei genau wenn wir den Button klicken

Anscheinenend nichts aber Tatsächlich bemerkt die Klasse QPUSHBUTTON die Aktion, wurde aber nicht Instruiert also es wurde Kein Befehl hinterlegt der ausgeführ werden soll, Nun gibt es die Möglichkeit über das sogenannte Signal Slot Verfahren das zu ändern aber was genau passiert da

Wir sagen Wer Soll Senden und das soll unser Button sein und bei welcher Aktion soll er was Senden wenn wir Ihn Klicken

Wer soll etwas empfängen z.B das Fenster und was für eine Aktion soll dann ausgeführt werden es soll geschlossen werden.

 

Also was ist jetzt genau das Signal & Slot verfahren

Mechanismus um Nachrichten zwischen Objekten auszutauschen

Signals verschicken Nachrichten

Slots empfangen Nachrichten

Eine Signal/Slot Verbindung wird mit QObject::connect() hergestellt

Sie kann jederzeit hergestellt werden

Wird ein Objekt zerstört wird seine Signale/Slots Verbindung automatisch auch gelöscht

Fehler werden erst in Laufzeit erkannt

Vorteile ?

Vorteile

Sehr Mächtig & trotzdem einfach zu bedienen

Lässt sich auf vielen Plattformen einsetzen

Steht unter Dualem Lizensystem

Strukturierte Dokumentation

Eine der umfangreichsten Entwicklungsumgebungen

Qt Framework codiert Zeichen durchgängig in UTF-16

Internationalisierung

Nachteile ?

Nachteile

Für Qt Programme werden Qt- Bibliotheken benötigt

Verglichen mit andern Frameworks erzeugt das relativ große Programme

Dokumentation nicht so umfangreich

Étudier