Grundlagen der Informatik Entwicklung von Anwendungen mit dem Qt-Framework

Größe: px
Ab Seite anzeigen:

Download "Grundlagen der Informatik Entwicklung von Anwendungen mit dem Qt-Framework"

Transkript

1 Grundlagen der Informatik Entwicklung von Anwendungen mit dem Qt-Framework Prof. Dr.-Ing. habil. Peter Sobe Prof. Dr.-Ing. Thomas Wiedemann Fachgebiet Informatik / Mathematik

2 Qt Benutzerschnittstellen - Gliederung Das Qt-Framework Einführung und kurze Historie grundlegende Technologien Die Objekthierarchie Programmbeispiele Quelle(n): Qt-Website: Heise-Artikel : ttp:// P. Sobe / T. Wiedemann 2

3 Qt Einführung Qt ist ein zur Microsoft-Visualstudio-Suite alternatives Widget- Toolkit zur Programmierung grafischer Benutzeroberflächen (engl. GUI -Graphical User Interface) als Widget werden alle Komponente in einem grafischen Fenstersystem bezeichnet QT ist für verschiedene Graphikplattformen wie X11 (Unix), Windows, Mac OSX und PDA-Versionen verfügbar Qt ist als C++ Klassenbibliothek mit nichtstandardkonformen Erweiterungen realisiert, welche jedoch durch einen speziellen Präprozessor (bez. als Meta-Object-Compiler) wieder in standartkonformer Code übersetzt wird zusätzliche, weitere Dienstprogramme wie der QT-Designer erleichtern den Aufbau von Oberflächen 3

4 Qt kurze Historie Start der Entwicklung durch 2 norwegische Programmierer im Jahr 1991 später Gründung einer Firma (zuerst Quasar Technologies, später Troll Tec ) eine wichtigsten Anwendungen war die Entwicklung der grafischen Benutzeroberfläche KDE für LINUX deshalb auch sehr komplexe und gestaffelte Lizenzabkommen (zur Vermeidung von Problemen bei einem Aufgabe durch die Firma) 2008 wurde Troll tec von Nokia aufgekauft 2011 wurde das Qt-Projekt durch Nokia als freie Software zur Verfügung gestellt Aktuell in der Version 5.4. für die Desktop und Webentwicklung 4

5 Qt Ein QT-Programm ist wesentlich übersichtlicher als ein Win32-Programm. Mini-Beispiel: #include <QApplication> #include <QPushButton> int main(int argc, char *argv[]) { QApplication a(argc, argv); QPushButton *button = new QPushButton("Ende"); button->show(); } QObject::connect(button, SIGNAL (clicked()), QApplication::instance(), SLOT (quit())); return a.exec(); 5

6 Qt Qt-Designer als eigene Entwicklungsumgebung Die Qt-Bibliothek kann auch in Visual-Studio integriert werden. 6

7 Prinzipien: GUI-Komponenten sind Objekte, die zum Teil aus vorgefertigten Klassen instanziiert werden können. Neue Klassen d.h. neue GUI-Komponenten durch abgeleitete Klassen und durch neu erstellte Klassen, die mehrere GUI-Komponenten (Objekte) enthalten (Komposition) Die Bedienoberfläche besteht aus hierarchisch ineinander platzierten GUI-Komponenten (Widgets) Signal-Slot-Prinzip. Bedienereignisse (Button-Click, Scrollen) lösen Ereignisse (Signals) aus. Für diese Ereignisse werden Slotsprogrammiert, die Methoden aufrufen können Qt MyWindow (public QMainWindow) QTextEdit QPushButton QPushButton 7

8 Qt: Signal/Slot-Prinzip Signale werden von Widget-Objekten ausgesendet (emittiert, engl. emit) Die Entgegennahme erfolgt durch s.g. Slots, von denen ausgehend Methoden von QT-Klassen aufgerufen werden. Die Kopplung erfolgt durch die connect-methode. Beispiel: QPushButton clicked() QApplication quit() Im Quellcode: QApplication appl(argc,argv); QPushButton button = new QPushButton( Beenden ); // QObject::connect(button, SIGNAL (clicked()), &appl, SLOT (quit()) ); Peter Sobe 8

9 Qt: Signal/Slot-Prinzip Signal/Slot-Prinzip: SIGNAL() und SLOT() sind C-Makros, die als Argumente Methoden der beteiligten Objekte erwarten. Ein Signal kann mit mehreren Slots verbunden werden. Mehrere Signale können mit einem Slot verbunden werden Frühere GUI-Bibliotheken nutzen die klassische Variante mit Callback- Funktionen, die an Bedienelemente gebunden wurden. Das von Qt benutze Signal/Slot-Prinzip ist flexibler und weniger fehleranfällig. Beispielsweise erfolgt beim Freigeben von Instanzen eine automatische Deaktivierung deren Slots; damit werden Programmabstürze vermieden. Peter Sobe 9

10 Qt: Klassen mit Signalen und Slots Signale und Slots werden an Klassen gebunden: Slot: Eine Methode die z. B. als public slot: void incrvalue(); deklariert wird. Ähnlich wie public, protected, private kann public slot verwendet werden. Die programmierte Methode (hier incrvalue()) wird aufgerufen, wenn ein Signal für den Slot vorliegt. Hinweis: public slot ist keine C++ Syntax und verlangt, dass der MOC eine Vorverarbeitung durchführt, die das Programm in Standard-C++-Syntax überführt. Peter Sobe 10

11 Qt: Klassen mit Signalen und Slots Signal deklarieren und emittieren: In der Klassendeklaration muss eine Methode wie folgt enthalten sein: signals: void signalcarry(); // signalsiert einen Übertrag Die Methode signalcarry() wird nicht implementiert, sondern automatisch vom MOC erzeugt. In anderen Methoden der Klasse wird anwendungsspezifisch emit signalcarry(); aufgerufen. Hinweis: Auch die Verwendung von signals und emit ist keine Standard C++ Syntax und setzt die Umwandlung in C++ durch den MOC voraus Peter Sobe 11

12 Qt: Klassen mit Signalen und Slots Klasse cntr mit Slot für Incr und Signal für Carry: #include <QObject> class cntr :public QObject { Q_OBJECT public: cntr(int nvalues); int value(); public slots: void slot_incr(); signals: void carry(); private: int z; int nv; }; Zähler (cntr) soll von n bis nvalues-1 zählen und danach wieder auf Null springen. Übertrag soll durch die Signal- Methode carry() signalisiert werden. Peter Sobe 12

13 Qt: Klassen mit Signalen und Slots Nutzung der Klasse cntr: cntr counter(10); // im Hauptfenster connect(incrbutton, SIGNAL (clicked()), &counter, SLOT (slot_incr())); connect(&counter, SIGNAL(carry()), this, SLOT(slotShowCarry())); Die Slot-Methode des Hauptfensters zeigt den Übertrag an: void MyWindow::slotShowCarry() { QMessageBox msg(qmessagebox::information, QString("Information"), QString("Carry"),QMessageBox::Ok); msg.exec(); } Peter Sobe 13

14 Qt: Anordnung mehrerer Widgets Wie im Beispiel rechts sollen drei Knöpfe (Objekte des Klassentyps PushButton) untereinander angeordnet werden. Manuell programmiert: int main(int argc, char *argv[]) { QApplication a(argc, argv); QMainWindow *win = new QMainWindow(); QPushButton* b1 = new QPushButton("Max",win); QPushButton* b2 = new QPushButton("Min",win); QPushButton* b3 = new QPushButton("Quit",win); win->resize(120,180); b1->setgeometry(10,10,100,50); b3->setgeometry(10,120, 100,50); // b2->setgeometry(10,65,100,50); } win->show(); return a.exec(); x-pos.,y-pos., x-ausdehnung, y-ausdehnung Peter Sobe 14

15 Qt: Anordnung mehrerer Widgets Nutzung eines Layout-Manager-Objekts: int main(int argc, char *argv[]) { QApplication a(argc, argv); QWidget *win = new QWidget; win->resize(120,180); QVBoxLayout *layout_obj = new QVBoxLayout(win); QPushButton* b1 = new QPushButton("Max"); QPushButton* b2 = new QPushButton("Min"); QPushButton* b3 = new QPushButton("Quit"); b1->resize(100,50); b2->resize(100,50); b3->resize(100,50); } layout_obj->addwidget(b1); layout_obj->addwidget(b2); layout_obj->addwidget(b3); win->show(); return a.exec(); Peter Sobe 15

16 Qt: Anordnung mehrerer Widgets Nutzung eines Layout-Manager-Objekts: VBoxLayout und HBoxLayout QHBoxLayout *layout_obj = new QHBoxLayout(win); QPushButton* b1 = new QPushButton("Max"); QPushButton* b2 = new QPushButton("Min"); QPushButton* b3 = new QPushButton("Quit"); Peter Sobe 16

17 Einzelne Klassen in Qt Klassenhierarchie QObject QThread QWidget QAbstractButton QFrame QProgressBar QCheckBox QPushButton QRadioButton QAbstractScroll Area QGraphicsView QLabel QTextEdit Peter Sobe 17

18 Einzelne Klassen in Qt QMainWindow Wird als Hauptfenster einer Qt-Anwendung benutzt. Typischerweise leitet ein Programmierer eine neue Klasse, z.b. mywinwow von QMainWindow ab und platziert eigene Elemente im Fenster. Beispiel: MyWindow::MyWindow(){ addbutton = new QPushButton( Berechnen",this); addbutton->setgeometry(10, 110, 50, 40); Dokumentation unter: Peter Sobe 18

19 Einzelne Klassen in Qt QMainWindow QMainWindow enthält eine Menu Bar und eine Status Bar als untergeordnete Widgets. Datei Modell abc.mod geladen QMainWinwod *win = new QMainWindow(); QMenu *filemenu = win>menubar()->addmenu("&datei"); filemenu->addaction("&beenden", myapp, SLOT(quit())); win->show(); win->statusbar()->showmessage(tr( Modell geladen"), 2000); Peter Sobe 19

20 Einzelne Klassen in Qt QLineEdit QLineEdit stellt eine einzeilige Ein- und Ausgabe-Box bereit MyWindow::MyWindow(){ lab = new QLabel(tr( Ein und Ausgabe"),this); eingabebox= new QLineEdit(this); ausgabebox = new QLineEdit(this); void MyWindow::ButtonClicked() // eine Slot-Methode { Qstring e,a; e = eingabebox()->text(); a.sprintf( %lf, e.todouble() * 2.0); ausgabebox->settext(a); // hier wird der Wert der Eingabe verdoppelt //ausgegeben Peter Sobe 20

21 Einzelne Klassen in Qt QTextEdit QTextEdit stellt eine mehrzeilige Editorfläche für Text bereit. Der Text kann durch einen Konstruktorparameter gesetzt werden. Konstruktoren: QTextEdit(QWidget *parent = 0); explicit QTextEdit(const QString &text, QWidget *parent = 0); Weitere Methoden (public slots): void settext(const QString &text); QString toplaintext() const; Auswahl vordefinierter Signale: void selectionchanged(); void textchanged(); Peter Sobe 21

22 Einzelne Klassen in Qt QTextEdit Beispiel eines einfachen Texteditors: #include <QApplication> #include <QTextEdit> QTextEdit *tedit = new QTextEdit(); // Setzen des Inhalts Qstring str; str.append(tr("das ist ein netter Text.")); tedit->settext(str); // Lesen und Weiterverarbeiten des Inhalts QByteArray asciistr; str = tedit->toplaintext(); asciistr = str.tolocal8bit(); Peter Sobe 22

23 Einzelne Klassen in Qt QCheckBox QCheckBox stellt eine einfache Auswahloption (angekreuzt oder nicht) mit einer typischerweise rechteckigen Box mit oder ohne Häkchen dar. #include <QCheckBox> QCheckBox *cb1 = new QCheckBox( Fensterplatz gewünscht ); QCheckBox *cb2 = new QCheckBox( Gepäck aufgeben ); cb2->setcheckstate(qt::checked); // Platzieren cb1 und cb1 in Window, Dialog oder Layout // Verbinden des Signals statechanged(int) mit einer Slot-Methode, die // z.b. von der Fensterklasse bereitgestellt wird connect(cb1, SIGNAL(stateChanged(int), this, SLOT(auswertung(int))); // void MyWindow::auswertung(int state) { if (state==qt::checked) fenster=true; else fenster=false; } Hier wird über die Signal- Slot-Verbindung ein Parameter (Typ int) übertragen. Peter Sobe 23

24 QRadioButton Einzelne Klassen in Qt QRadioButton stellt einen Knopf innerhalb einer Knopfgruppe dar, in der nur der zuletzt gesetzte ausgewählt ist (vgl. Radio-Knöpfe UKW/MW/LW) #include <QRadioButton> #include <QGroupBox> QGroupBox* group = new QGroupBox( Wellenbereiche ); QRadioButtion *rb1 = new QRadioButton( UKW ); QRadioButtion *rb2 = new QRadioButton( MW ); rb1->setchecked(true); QVBoxLayout *vbox= new QVBoxLayout; vbox->addwidget(rb1); vbox->addwidget(rb2); group->setlayout(vbox); QVBoxLayout *vvbox = new QVBoxLayout; vvbox-> addwidget(group); setlayout(vvbox); // Umgebendes Fenster nimmt hier die Knopf-Gruppe auf Jedes RadioButton-Objekt stellt eine Signal-Methode toggled(bool) bereit. Peter Sobe 24

25 Einzelne Klassen in Qt QFileDialog QFileDialog erlaubt die Auswahl eines Dateinamens zum Laden oder Speichern einer Datei. Der Dateiauswahldialog wird vom Betriebssystem (Windows) oder dem Fenstermanager (KDE/Linux) bereitgestellt. QString filename; QFileDialog *fdlg = new QFileDialog(this, Wählen Sie ); fdlg->setfilemode(qfiledialog::existingfiles); // if (fdlg->exec()) // exec() ergibt false, wenn Auswahl abgebrochen filename = fdlg->selectedfiles(); Peter Sobe 25

26 Qt Zusammenfassung Die Unterstützung von QT für verschiedene Graphikplattformen wie X11 (Unix), Windows, Mac OSX und PDA-Versionen ist eine der Hauptvorteile. Das Signal-Slot-Prinzip der Kommunikation ist deutlich stabiler und effizienter als die Nachrichtenübermittlung in Windows. Die Bereitstellung als Opensource-Software sollte auch auf längere Sicht die Verfügbarkeit gewährleisten. 26

5. Programmierung von Benutzerschnittstellen

5. Programmierung von Benutzerschnittstellen 5. Programmierung von Benutzerschnittstellen Inhalt: Rolle des Betriebssystems Win32 Programmierung mit Fenstern und Grafikausgabe Objektorientierte Programmierung von Benutzerschnittstellen mit Qt weitere

Mehr

5. Programmierung von Benutzerschnittstellen mit Qt

5. Programmierung von Benutzerschnittstellen mit Qt 5. Programmierung von Benutzerschnittstellen mit Qt Eine kurzer Überblick zur objektorientierten Programmierung von Benutzerschnittstellen mittels C++ und Qt. Alternativen zur Realisierung von Benutzerschnittstellen:

Mehr

5. Programmierung von Benutzerschnittstellen mit Qt

5. Programmierung von Benutzerschnittstellen mit Qt 5. Programmierung von Benutzerschnittstellen mit Qt Eine kurzer Überblick zur objektorientierten Programmierung von Benutzerschnittstellen mittels C++ und Qt. Alternativen zur Realisierung von Benutzerschnittstellen:

Mehr

Was ist QT? Beispiele: KDE Google Earth Mathematika

Was ist QT? Beispiele: KDE Google Earth Mathematika Einführung in QT Was ist QT? QT ist eine Klassenbibliothek für plattformübergreifende Programmierung graphischer Benutzeroberflächen QT ist für verschiedene Graphikplattformen wie X11 (Unix), Windows,

Mehr

Qt Programmierung Teil 1 Fenster erstellen by NBBN (http://nbbn.wordpress.com) CrashKurs-Artig. Was brauche ich? -Einige C++ Kenntnisse

Qt Programmierung Teil 1 Fenster erstellen by NBBN (http://nbbn.wordpress.com) CrashKurs-Artig. Was brauche ich? -Einige C++ Kenntnisse Qt Programmierung Teil 1 Fenster erstellen by NBBN (http://nbbn.wordpress.com) CrashKurs-Artig. Was brauche ich? -Einige C++ Kenntnisse Wie man in C++ mit Hilfe von Qt GUI-Anwendungen programmieren kann.

Mehr

Einführung in die Programmierung

Einführung in die Programmierung : Inhalt Einführung in die Programmierung Wintersemester 2009/10 Prof. Dr. Günter Rudolph Lehrstuhl für Algorithm Engineering Fakultät für Informatik TU Dortmund Was ist eine GUI? Was ist QT? Erste Schritte:

Mehr

Nun haben wir alle Programmierwerkzeuge zusammen und können das Gelernte in einer Synthese-Übung vereinigen.

Nun haben wir alle Programmierwerkzeuge zusammen und können das Gelernte in einer Synthese-Übung vereinigen. Kapitel 10 Synthese-Übung Nun haben wir alle Programmierwerkzeuge zusammen und können das Gelernte in einer Synthese-Übung vereinigen. main() Funktion Instanzen von Klassen anlegen Dateien lesen und schreiben

Mehr

Fortgeschrittene Kapitel: Grafische Ausgabe mit C++ Karl Gmeiner

Fortgeschrittene Kapitel: Grafische Ausgabe mit C++ Karl Gmeiner Fortgeschrittene Kapitel: Grafische Ausgabe mit C++ Karl Gmeiner 2015 1 Software-Frameworks am Beispiel von Qt 1.1 Software-Frameworks Software-Frameworks stellen Datenstrukturen, Algorithmen, Entwurfsmuster

Mehr

GUI Programmierung mit Qt

GUI Programmierung mit Qt GUI Programmierung mit Qt C++ vs. JAVA Norman Wolf 22.04.05 GUI Programmierung mit Qt 1 Einleitung Qt wird von der norwegischen Firma Trolltech entwickelt Es ist kommerzielle Software, die aber von Trolltech

Mehr

d:\c++\semesterarbeit\lottosix\lottosix.cpp /* ======================================================================== Dateiname: lottosix.

d:\c++\semesterarbeit\lottosix\lottosix.cpp /* ======================================================================== Dateiname: lottosix. /* ======================================================================== Dateiname: lottosix.cpp 1 Zweck: Semesterarbeit ============== Erstellt ein QWidget in welchem Lottozahlen gezogen und verglichen

Mehr

Einführung in die Programmierung Wintersemester 2011/12

Einführung in die Programmierung Wintersemester 2011/12 Einführung in die Programmierung Wintersemester 2011/12 Prof. Dr. Günter Rudolph Lehrstuhl für Algorithm Engineering Fakultät für Informatik TU Dortmund : GUI-Programmierung Inhalt Was ist eine GUI? Was

Mehr

Einführung in die Programmierung

Einführung in die Programmierung : Inhalt Einführung in die Programmierung Wintersemester 2011/12 Was ist eine GUI? Was ist QT? Erste Schritte: Hello World! Signals & Slots: SpinBoxSlider Anwendung: Temperaturumrechnung Lösung ohne GUI

Mehr

Einführung in Qt. Im Rahmen der Vorlesung Objektorientierte Softwareentwicklung mit C++ (WS 2002/2003)

Einführung in Qt. Im Rahmen der Vorlesung Objektorientierte Softwareentwicklung mit C++ (WS 2002/2003) Einführung in Qt Im Rahmen der Vorlesung Objektorientierte Softwareentwicklung mit C++ (WS 2002/2003) Inhaltsangabe 1. Was ist Qt?... 3 2. Der Ursprung von Qt... 4 3. Eigenschaften von Qt... 6 4. Konzept

Mehr

Qt ist ein plattformübergreifendes Entwicklungs-Framework, geschrieben in C++ Framework für C++, Bindings für andere Programmiersprachen

Qt ist ein plattformübergreifendes Entwicklungs-Framework, geschrieben in C++ Framework für C++, Bindings für andere Programmiersprachen Was ist Qt? Qt ist ein plattformübergreifendes Entwicklungs-Framework, geschrieben in C++ Framework für C++, Bindings für andere Programmiersprachen Python, Ruby, C#... Ursprünglich für grafische Benutzeroberflächen

Mehr

Praktikum IKT 3. Semester

Praktikum IKT 3. Semester Praktikum IKT 3. Semester Dr. Andreas Müller, TU Chemnitz, Fakultät für Informatik Inhaltsverzeichnis 1 1 Einführung in QT 1.1 Die QT-Bibliothek Informationen: http://www.trolltech.com Lehner, B: KDE-

Mehr

Interaktive Simulationen Lektion 1/3: Event-Driven Design und Signals

Interaktive Simulationen Lektion 1/3: Event-Driven Design und Signals MÜNSTER Interaktive Simulationen Lektion 1/3: Event-Driven Design und Signals Prof. Dr. Christian Engwer & Andreas Buhr 16. April 2014 MÜNSTER Interaktive Simulationen 2 /22 Normales C++ Programm Programmstruktur

Mehr

Objektorientierte Programmierung mit C++ (WS 2010)

Objektorientierte Programmierung mit C++ (WS 2010) Objektorientierte Programmierung mit C++ (WS 2010) Dr. Andreas F. Borchert, Tobias Brosch Institut für Angewandte Informationsverarbeitung Universität Ulm Blatt 11: Abgabetermin 19. Januar 2011 11 Uhr

Mehr

Workshop: Entwickeln mit Qt 4. Daniel Molkentin <molkentin@kde.org>

Workshop: Entwickeln mit Qt 4. Daniel Molkentin <molkentin@kde.org> Workshop: Entwickeln mit Qt 4 Daniel Molkentin Das Wichtigste zuerst! Haben Sie einen Laptop dabei? Nein? Suchen Sie sich schnell einen netten Nachbarn :) Haben Sie Qt installiert?

Mehr

Praxisorientierte Einführung in C++ Lektion: Einführung in das GUI-Toolkit Qt

Praxisorientierte Einführung in C++ Lektion: Einführung in das GUI-Toolkit Qt Praxisorientierte Einführung in C++ Lektion: Einführung in das GUI-Toolkit Qt Christof Elbrechter, Florian P. Schmidt Neuroinformatics Group, CITEC April 5, 2011 Christof Elbrechter Praxisorientierte Einführung

Mehr

Einführung in die GUI- Programmierung mit Qt 4. von Yannick Müller Erstbetreuer: Prof. Dr. rer. nat. Gerhard Dikta Zweitbetreuer: Uli Schmidt

Einführung in die GUI- Programmierung mit Qt 4. von Yannick Müller Erstbetreuer: Prof. Dr. rer. nat. Gerhard Dikta Zweitbetreuer: Uli Schmidt Einführung in die GUI- Programmierung mit Qt 4 von Yannick Müller Erstbetreuer: Prof. Dr. rer. nat. Gerhard Dikta Zweitbetreuer: Uli Schmidt Gliederung Das Framework Qt Signale und Slots GUI Ereignisverarbeitung

Mehr

Workshop: Entwickeln mit Qt 4. Daniel Molkentin <molkentin@kde.org>

Workshop: Entwickeln mit Qt 4. Daniel Molkentin <molkentin@kde.org> Workshop: Entwickeln mit Qt 4 Daniel Molkentin Das Wichtigste zuerst! Haben Sie einen Laptop dabei? Nein? Suchen Sie sich schnell einen netten Nachbarn :) Haben Sie Qt installiert?

Mehr

Praxisorientierte Einführung in C++ Lektion: "Einführung in das GUI-Toolkit Qt"

Praxisorientierte Einführung in C++ Lektion: Einführung in das GUI-Toolkit Qt Praxisorientierte Einführung in C++ Lektion: "Einführung in das GUI-Toolkit Qt" Christof Elbrechter Neuroinformatics Group, CITEC April 24, 2014 Christof Elbrechter Praxisorientierte Einführung in C++

Mehr

Einführung in die Programmierung Wintersemester 2010/11

Einführung in die Programmierung Wintersemester 2010/11 Einführung in die Programmierung Wintersemester 2010/11 Prof. Dr. Günter Rudolph Lehrstuhl für Algorithm Engineering Fakultät für Informatik TU Dortmund : GUI-Programmierung Inhalt Was ist eine GUI? Was

Mehr

Übersicht GUI PyQT TU Dresden, 23.05.2011 Sommerkurs Python - 05. GUI Folie 1 von XYZ

Übersicht GUI PyQT TU Dresden, 23.05.2011 Sommerkurs Python - 05. GUI Folie 1 von XYZ Übersicht GUI PyQT Folie 1 von XYZ Graphical User Interface GUI Folie 2 von XYZ GUI - Graphical User Interface Ø Wikipedia sagt: Eine grafische Benutzeroberfläche ist eine Software-Komponente, die dem

Mehr

GUI Programmierung mit Qt

GUI Programmierung mit Qt GUI Programmierung mit Qt C++ vs. JAVA Ausarbeitung für einen Vortrag im Oberseminar Softwareentwicklung an der HTWK Leipzig Vortragender: Norman Wolf Einleitung Qt wird von der norwegischen Firma Trolltech

Mehr

Programmieren II. Java im Vergleich zu anderen Sprachen. Einführung: GUI. Einführung: Grafische Benutzeroberflächen. Dr.

Programmieren II. Java im Vergleich zu anderen Sprachen. Einführung: GUI. Einführung: Grafische Benutzeroberflächen. Dr. Programmieren II Dr. Klaus Höppner Hochschule Darmstadt SS 2008 1 / 22 2 / 22 Einführung: GUI Fast alle Programme besitzen mittlerweile eine grafische Benutzeroberfläche (engl: Graphical User Interface,

Mehr

Einführung in die Informatik und Programmierung (Informatik I)

Einführung in die Informatik und Programmierung (Informatik I) BERGISCHE UNIVERSITÄT GESAMTHOCHSCHULE WUPPERTAL GAUSS-STRASSE 20 42097 WUPPERTAL (Korrespondenzanschrift) 42119 WUPPERTAL (Lieferanschrift) TELEX 8 592 262 bughw TELEFAX (0202) 439-2901 TELEFON (0202)

Mehr

Interaktive Simulationen Lektion 3/3: Grafische Ausgabe

Interaktive Simulationen Lektion 3/3: Grafische Ausgabe MÜNSTER Interaktive Simulationen Lektion 3/3: Grafische Ausgabe Prof. Dr. Christian Engwer & Andreas Buhr 30. April 2014 Was ist ein Widget? MÜNSTER Interaktive Simulationen 2 /24 Ein QWidget ist ein QObject

Mehr

Einführung in die Programmierung GUI Programmierung Teil 3

Einführung in die Programmierung GUI Programmierung Teil 3 Einführung in die Programmierung GUI Programmierung Teil 3 30.01.2014 Jan Quadflieg & Andreas Thom Technische Universität Dortmund Lehrstuhl 11 - Algorithm Engineering Jan Quadflieg & Andreas Thom Einführung

Mehr

Motivation. Einfu hrung in die Programmierung GUI Programmierung Teil 2. Problemstellungen. Problemstellungen Jan Quadflieg & Andreas Thom

Motivation. Einfu hrung in die Programmierung GUI Programmierung Teil 2. Problemstellungen. Problemstellungen Jan Quadflieg & Andreas Thom Motivation Motivation II Motivation I Motivation I Einfu hrung in die Programmierung GUI Programmierung Teil 2 26.01.2012 SDSS LSST telescopes Images Spectra Images Spectra Sloan Digital Sky Survey (SDSS):

Mehr

Einführung in die Programmierung Wintersemester 2009/10

Einführung in die Programmierung Wintersemester 2009/10 Einführung in die Programmierung Wintersemester 2009/10 Prof. Dr. Günter Rudolph Lehrstuhl für Algorithm Engineering Fakultät für Informatik TU Dortmund : GUI-Programmierung Inhalt Was ist eine GUI? Was

Mehr

Implementieren von Klassen

Implementieren von Klassen Implementieren von Klassen Felder, Methoden, Konstanten Dr. Beatrice Amrhein Überblick Felder/Mitglieder (Field, Member, Member-Variable) o Modifizierer Konstanten Methoden o Modifizierer 2 Felder und

Mehr

Aufgabe 1: GUIs mit PyQt

Aufgabe 1: GUIs mit PyQt Michael Wand Institut für Informatik. Angewandte Mathematik am Rechner 1 SOMMERSEMESTER 2017 18. April 2017 Aufgabe 1: GUIs mit PyQt Erste Praktikumsaufgabe Aufgabenblatt Aufgabe 1 Jetzt online (Webseite

Mehr

1 Einstieg in Qt... 15. 2 Signale und Slots... 27. 3 Basisklassen und Bibliotheken von Qt... 55. 4 Dialoge, Layout und Qt-Widgets...

1 Einstieg in Qt... 15. 2 Signale und Slots... 27. 3 Basisklassen und Bibliotheken von Qt... 55. 4 Dialoge, Layout und Qt-Widgets... Auf einen Blick 1 Einstieg in Qt... 15 2 Signale und Slots... 27 3 Basisklassen und Bibliotheken von Qt... 55 4 Dialoge, Layout und Qt-Widgets... 67 5 Qt-Hauptfenster... 317 6 Ein-/Ausgabe von Daten...

Mehr

Hydroinformatik II: Grundlagen der Kontinuumsmechanik

Hydroinformatik II: Grundlagen der Kontinuumsmechanik Hydroinformatik II: Grundlagen der Kontinuumsmechanik Robert Schlick 1 Helmholtz Centre for Environmental Research UFZ, Leipzig 2 Technische Universität Dresden TUD, Dresden Dresden, 28. April 2017 1/25

Mehr

0. Einführung & Motivation

0. Einführung & Motivation 0. Einführung & Motivation Ansatz: "C++ für Java-Kenner" Konzentration auf semantische Unterschiede 'gleichartiger' Konzepte Erörterung der C++ -spezifischen Konzepte (Overloading, Templates) Anspruch

Mehr

Neben der Verwendung von Klassen ist Vererbung ein wichtiges Merkmal objektorientierter

Neben der Verwendung von Klassen ist Vererbung ein wichtiges Merkmal objektorientierter Kapitel 1 Der vierte Tag 1.1 Vererbung Neben der Verwendung von Klassen ist Vererbung ein wichtiges Merkmal objektorientierter Sprachen. Unter Vererbung versteht man die Möglichkeit, Eigenschaften vorhandener

Mehr

Einführung in die Programmierung mit Qt

Einführung in die Programmierung mit Qt Einführung in die Programmierung mit Qt Dr. Ralf Schüler 5.11.2009 Was ist Qt? sprich: [kju:t] Klassenbibliothek für C++ (ferner Java, Python u.a.) sehr umfangreich: GUI, Stringverarbeitung, reguläre Ausdrücke,

Mehr

Objektorientierung. Marc Satkowski 20. November C# Kurs

Objektorientierung. Marc Satkowski 20. November C# Kurs Objektorientierung Marc Satkowski 20. November 2016 C# Kurs Gliederung 1. Weiterführende Verzweigungen Tertiäre-Verzweigung switch case 2. Schleifen Zählschleife (for) break & continue 3. Objektorientierung

Mehr

2 Signale und Slots. Widgets

2 Signale und Slots. Widgets Wer sich schon mit der GUI-Programmierung befasst hat, wird bei dieser Überschrift an sogenannte Callback-Funktionen denken. Doch Qt geht hier einen anderen Weg und verwendet ein Signal-Slot-Konzept. Wie

Mehr

Einführung in die Programmierung

Einführung in die Programmierung : Inhalt Einführung in die Programmierung Wintersemester 2013/14 Prof. Dr. Günter Rudolph Lehrstuhl für Algorithm Engineering Fakultät für Informatik TU Dortmund Was ist eine GUI? Was ist QT? Erste Schritte:

Mehr

Hydroinformatik II: Gerinnehydraulik

Hydroinformatik II: Gerinnehydraulik Hydroinformatik II: Gerinnehydraulik 1 Helmholtz Centre for Environmental Research UFZ, Leipzig 2 Technische Universität Dresden TUD, Dresden Dresden, 15. Juli 2016 1/36 Prof. Dr.-Ing. habil. Olaf Kolditz

Mehr

Einführung: Grafische Benutzeroberflächen. Programmieren II. Dr. Klaus Höppner. Hochschule Darmstadt Sommersemester / 22

Einführung: Grafische Benutzeroberflächen. Programmieren II. Dr. Klaus Höppner. Hochschule Darmstadt Sommersemester / 22 Programmieren II Dr. Klaus Höppner Hochschule Darmstadt Sommersemester 2010 1 / 22 Einführung: Grafische Benutzeroberflächen 2 / 22 Einführung: GUI Fast alle Programme besitzen mittlerweile eine grafische

Mehr

2.13 Vererbung. Rainer Feldmann Universität Paderborn Technische Informatik für Ingenieure (TIFI) WS 09/ Article

2.13 Vererbung. Rainer Feldmann Universität Paderborn Technische Informatik für Ingenieure (TIFI) WS 09/ Article 2.13 Vererbung Klassen modellieren Objekte der realen Welt. Diese sind oft hierarchisch gegliedert. Beispiel: Ein Verlag bietet Bücher und CDs an. Beide Medien sind Artikel des Verlages. Book author: String

Mehr

4. Objektorientierte Programmierung mit C++

4. Objektorientierte Programmierung mit C++ 4. Objektorientierte Programmierung mit C++ Einführung C++ / Entwicklung der Sprachfamilie Erweiterungen der Sprache C: Ein- und Ausgabe, Referenzen, Speicherallokation und Freigabe Grundlagen des Typkonzepts

Mehr

-WINDOW. Systemprogrammierung SS

-WINDOW. Systemprogrammierung SS Systemprogrammierung SS08 Ahlam BEJJATI Mustafa KADI E- Mail: ahlam.b@gmx.de E- Mail: m.kadi@gmx.de Gliederung 1. Einleitung 2. Geschichte 3. Einführung in Xlib 4. Toolkits 5. X-Display Manager 6. X-Window

Mehr

Lehrstuhl für Datenverarbeitung. Technische Universität München. Grundkurs C++

Lehrstuhl für Datenverarbeitung. Technische Universität München. Grundkurs C++ Was ist Qt? Qt ist ein plattformübergreifendes Entwicklungs-Framework, geschrieben in C++ Framework für C++, Bindings für andere Programmiersprachen Python, Ruby, C#... Ursprünglich für grafische Benutzeroberflächen

Mehr

Grafische Oberflächen

Grafische Oberflächen Eine grafische Benutzeroberfläche (graphical user interface) oder GUI ist eine Software, die die Benutzung eines Programms über grafische Elemente, Tastatur und Zeigergeräte ermöglicht. (Und vereinfachen

Mehr

Einführung C++ GUI mit Qt

Einführung C++ GUI mit Qt Einführung C++ GUI mit Qt Rudolf Lehn Schülerforschungszentrum Bad Saulgau Inhaltsverzeichnis 1 Konzepte und Konstrukte von Qt 1 1.1 Allgemeine Qt-Hinweise 1 1.1.1 Installations- und Ausführungshinweise

Mehr

Schablonen für Klassen, Interfaces oder Methoden, die noch nicht festgelegte Datentypen verwenden

Schablonen für Klassen, Interfaces oder Methoden, die noch nicht festgelegte Datentypen verwenden Generics Schablonen für Klassen, Interfaces oder Methoden, die noch nicht festgelegte Datentypen verwenden Typvariablen statt (fester) Datentypen werden hinter Bezeichnern in spitzen Klammern aufgezählt

Mehr

3. Exkurs in weitere Arten der Programmierung

3. Exkurs in weitere Arten der Programmierung 3. Exkurs in weitere Arten der Programmierung Inhalt: Objektorientierte Programmierung in C++ Logische Programmierung in Prolog Peter Sobe Objektorientierte Programmierung in C++ C++ ist eine objektorientierte

Mehr

Übung: Computergrafik 1

Übung: Computergrafik 1 Prof. Dr. Andreas Butz Prof. Dr. Ing. Axel Hoppe Dipl.-Medieninf. Dominikus Baur Dipl.-Medieninf. Sebastian Boring Übung: Computergrafik MDIs in Qt Farbmodelle MDIs Übung Computergrafik SoSe 2009 2 Multiple

Mehr

Motivation. Einführung in die Programmierung GUI Programmierung Teil 3. Problemstellungen. Problemstellungen

Motivation. Einführung in die Programmierung GUI Programmierung Teil 3. Problemstellungen. Problemstellungen Einführung in die Programmierung GUI Programmierung Teil 3 30.01.2014 Motivation Motivation II Motivation I Jan Quadflieg & Andreas Thom SDSS and LSST telescopes Images and and Spectra Technische Universität

Mehr

Lehrstuhl für Datenverarbeitung. Technische Universität München. Grundkurs C++

Lehrstuhl für Datenverarbeitung. Technische Universität München. Grundkurs C++ Grundkurs C++ Was ist Qt? Qt ist ein plattformübergreifendes Entwicklungs-Framework, geschrieben in C++ Framework für C++, Bindings für andere Programmiersprachen Python, Ruby, C#... Ursprünglich für

Mehr

Klausur zu Objektorientierter Softwareentwicklung in C++ 4. Februar 2003 (WS 2002/2003) Beispiellösung

Klausur zu Objektorientierter Softwareentwicklung in C++ 4. Februar 2003 (WS 2002/2003) Beispiellösung Klausur zu Objektorientierter Softwareentwicklung in C++ 4. Februar 2003 (WS 2002/2003) Beispiellösung Bearbeitungszeit: 120 Minuten NICHT MIT BLEISTIFT SCHREIBEN!!! Name: Vorname: Matrikelnummer: Aufgabe

Mehr

Einführung in die GUI-Programmierung mit Qt 4

Einführung in die GUI-Programmierung mit Qt 4 Einführung in die GUI-Programmierung mit Qt 4 Erstbetreuer: Prof. Dr. rer. nat. Gerhard Dikta Zweitbetreuer: Uli Schmidt Company TravelTainment GmbH Author Yannick Müller, Matr.-Nr.: 833948 Version Date

Mehr

Qt GUI-Entwicklung mit C++

Qt GUI-Entwicklung mit C++ Jürgen Wolf Qt 4.6 - GUI-Entwicklung mit C++ Das umfassende Handbuch Galileo Press Vorwort -. : 11 u 1.1 Was ist Qt? 15 1.2 Lizenzierung : 16 1.3 Qt installieren 16 1.3.1 Linux 17 1.3.2 Mac OS X ; 18 1.3.3

Mehr

Funktionen Häufig müssen bestimmte Operationen in einem Programm mehrmals ausgeführt werden. Schlechte Lösung: Gute Lösung:

Funktionen Häufig müssen bestimmte Operationen in einem Programm mehrmals ausgeführt werden. Schlechte Lösung: Gute Lösung: Funktionen Häufig müssen bestimmte Operationen in einem Programm mehrmals ausgeführt werden. Schlechte Lösung: Der Sourcecode wird an den entsprechenden Stellen im Programm wiederholt Programm wird lang

Mehr

Lehrstuhl für Datenverarbeitung. Technische Universität München. Grundkurs C++

Lehrstuhl für Datenverarbeitung. Technische Universität München. Grundkurs C++ Grundkurs C++ Schlüsselwort const int a = 5; const int b = 3; a = 2; // in Ordnung b = 4; // Fehler: const Variable kann nicht verändert werden Grundkurs C++ 2 const Zeiger const int* px; *px = 3; px =

Mehr

GUI-Programmierung mit Java. Informatik B - Objektorientierte Programmierung in Java. Vorlesung 11: GUI 1: AWT (1) GUI-Programmierung mit Java.

GUI-Programmierung mit Java. Informatik B - Objektorientierte Programmierung in Java. Vorlesung 11: GUI 1: AWT (1) GUI-Programmierung mit Java. Universität Osnabrück 1 GUI-Programmierung mit Java 3 - Objektorientierte Programmierung in Java Vorlesung 11: GUI 1: AWT (1) SS 2004 Prof. Dr. F.M. Thiesing, FH Dortmund Alle unsere bisherigen Anwendungsbeispiele

Mehr

Prinzipien der objektorientierten Programmierung (OOP)

Prinzipien der objektorientierten Programmierung (OOP) Die Ziele der OOP sind: - bessere Warbarkeit - Wiederverwendbarkeit 1.) Datenkapselung Prinzipien der objektorientierten Programmierung (OOP) Komplexe Datenstrukturen (wie zb ein Stack) werden vom Anwendungsprogramm

Mehr

Grundkurs C++ Buildsysteme Versionsverwaltung mit git

Grundkurs C++ Buildsysteme Versionsverwaltung mit git Grundkurs C++ Buildsysteme Versionsverwaltung mit git Martin Knopp, Martin Gottwald, Stefan Röhrl 25.04.2018 Folie 1/21 GK C++: Buildsysteme, Versionsverwaltung Martin Knopp, Martin Gottwald, Stefan Röhrl

Mehr

Grundkurs C++ Buildsysteme Versionsverwaltung mit git

Grundkurs C++ Buildsysteme Versionsverwaltung mit git Grundkurs C++ Buildsysteme Versionsverwaltung mit git Martin Knopp 09.05.2017 Folie 1/1 GK C++: Buildsysteme, Versionsverwaltung Martin Knopp 09.05.2017 Buildsysteme Beispielhaftes Übersetzungsszenario:

Mehr

7. Übung Informatik II - Objektorientierte Programmierung

7. Übung Informatik II - Objektorientierte Programmierung 7. Übung Informatik II - Objektorientierte Programmierung 29. Mai 2015 Inhalt 1 2 3 Übersicht 1 2 3 Idee Menschen nehmen die Welt in Form von Objekten wahr manche Objekte haben gleiche Eigenschaften, hierüber

Mehr

Programmieren in Java -Eingangstest-

Programmieren in Java -Eingangstest- Programmieren in Java -Eingangstest- Nummer: 1. Studiengang: Informatik B.Sc. Informatik M.Sc. ESE B.Sc. ESE M.Sc. Sonstiges: Fachsemester: Bitte Fragen, die Sie nicht beantworten können unbedingt mit

Mehr

Grundkurs C++ Buildsysteme Versionsverwaltung mit git

Grundkurs C++ Buildsysteme Versionsverwaltung mit git Grundkurs C++ Buildsysteme Versionsverwaltung mit git Martin Knopp & Johannes Feldmaier 20.04.2016 Folie 1/22 GK C++: Buildsysteme, Versionsverwaltung Martin Knopp & Johannes Feldmaier 20.04.2016 Buildsysteme

Mehr

Systemnahe Programmierung in C Übungen Jürgen Kleinöder, Michael Stilkerich Universität Erlangen-Nürnberg Informatik 4, 2011 U7.fm

Systemnahe Programmierung in C Übungen Jürgen Kleinöder, Michael Stilkerich Universität Erlangen-Nürnberg Informatik 4, 2011 U7.fm U7 POSIX-Prozesse U7 POSIX-Prozesse Prozesse POSIX-Prozess-Systemfunktionen Aufgabe 7 U7.1 U7-1 Prozesse: Überblick U7-1 Prozesse: Überblick Prozesse sind eine Ausführumgebung für Programme haben eine

Mehr

Überblick. R.Grossmann / P. Sobe 1

Überblick. R.Grossmann / P. Sobe 1 Überblick 1. Einführung C++ / Entwicklung/ Sprachfamilie 2. Nicht objektorientierte Erweiterungen von C 3. Grundlagen des Typkonzepts von C++ 4. Ziele der Objektorientierung 5. Objekt und Klasse, Elementfunktionen

Mehr

Hydroinformatik II: Gerinnehydraulik

Hydroinformatik II: Gerinnehydraulik Hydroinformatik II: Gerinnehydraulik 1 Helmholtz Centre for Environmental Research UFZ, Leipzig 2 Technische Universität Dresden TUD, Dresden Dresden, 03. Juli 2015 1/35 Prof. Dr.-Ing. habil. Olaf Kolditz

Mehr

Grundlagen der Informatik

Grundlagen der Informatik Grundlagen der Informatik Polymorphie, Abstrakte Klassen, Mehrfachvererbung Prof. Dr.-Ing. Thomas Wiedemann Prof. Dr. rer.nat. Ralph Großmann Fachgebiet Informatik / Mathematik Überblick zum Inhalt Klassen-3

Mehr

Einführung: Verteilte Systeme - Remote Method Invocation -

Einführung: Verteilte Systeme - Remote Method Invocation - Einführung: Verteilte Systeme - - Prof. Dr. Michael Cebulla 11. Dezember 2014 Fachhochschule Schmalkalden Wintersemester 2014/15 1 / 43 M. Cebulla Verteilte Systeme Gliederung 1 2 Architektur RMI Kommunikation

Mehr

Auf einen Blick. 1 Einstieg in Qt Signale und Slots Basisklassen und Bibliotheken von Qt Dialoge, Layout und Qt-Widgets 71

Auf einen Blick. 1 Einstieg in Qt Signale und Slots Basisklassen und Bibliotheken von Qt Dialoge, Layout und Qt-Widgets 71 Auf einen Blick 1 Einstieg in Qt 15 2 Signale und Slots 31 3 Basisklassen und Bibliotheken von Qt 57 4 Dialoge, Layout und Qt-Widgets 71 5 Qt-Hauptfenster 323 6 Ein-/Ausgabe von Daten 417 7 Ereignisverarbeitung

Mehr

Grundkurs C++ IDE Klassenhierarchien

Grundkurs C++ IDE Klassenhierarchien Grundkurs C++ IDE Klassenhierarchien Martin Gottwald und Stefan Röhrl 8 Mai 2019 Folie 1/34 GK C++: IDE, Klassenhierarchien Martin Gottwald und Stefan Röhrl 8 Mai 2019 IDE - Integrated Development Environment

Mehr

Überblick. 5. Objekt und Klasse, Elementfunktionen

Überblick. 5. Objekt und Klasse, Elementfunktionen Überblick 1. Einführung C++ / Entwicklung/ Sprachfamilie 2. Nicht objektorientierte Erweiterungen von C 2.1 Das Ein-/Ausgabekonzept von C++ 2.2 Referenzen in C++ 2.3 Heap-Allokatoren in C++ 3. Grundlagen

Mehr

U7 POSIX-Prozesse U7 POSIX-Prozesse

U7 POSIX-Prozesse U7 POSIX-Prozesse U7 POSIX-Prozesse U7 POSIX-Prozesse Prozesse POSIX-Prozess-Systemfunktionen Aufgabe 6 U7.1 U7-1 Prozesse: Überblick U7-1 Prozesse: Überblick Prozesse sind eine Ausführumgebung für Programme haben eine

Mehr

Funktionale und Objekt-Orientierte Programmierkonzepte

Funktionale und Objekt-Orientierte Programmierkonzepte Funktionale und Objekt-Orientierte Programmierkonzepte Prof. Marc Fischlin, Wintersemester 15/16 Kapitel 17: GUI, Threads und verschachtelte Klassen 13. Oktober 2010 Dr.Marc Fischlin Kryptosicherheit 1

Mehr

Remote Tracing via TCP/IP

Remote Tracing via TCP/IP ZSQtLib Remote Tracing via TCP/IP Benutzerhandbuch Copyright 2008 ZeusSoft, Ing. Büro Bauer. Alle Rechte vorbehalten. Dieses Handbuch sowie die darin beschriebene Software unterliegen lizenzrechtlichen

Mehr

Überblick. Überblick. Abstrakte Klassen - rein virtuelle Funktionen Beispiele

Überblick. Überblick. Abstrakte Klassen - rein virtuelle Funktionen Beispiele Überblick 1. Einführung C++ / Entwicklung/ Sprachfamilie 2. Nicht objektorientierte Erweiterungen von C 2.1 Das Ein-/Ausgabekonzept von C++ 2.2 Referenzen in C++ 2.3 Heap-Allokatoren in C++ 3. Grundlagen

Mehr

Einführung in die Programmierung Wintersemester 2014/15

Einführung in die Programmierung Wintersemester 2014/15 Einführung in die Programmierung Wintersemester 2014/15 Prof. Dr. Günter Rudolph Lehrstuhl für Algorithm Engineering Fakultät für Informatik TU Dortmund : GUI-Programmierung Inhalt Was ist eine GUI? Was

Mehr

Vorlesungsprüfung Programmiersprache 1

Vorlesungsprüfung Programmiersprache 1 Vorlesungsprüfung Programmiersprache 1 Termin der Prüfung: 1) Di 20.03.2018 16:15 17:00 HSB 3 2) Di 15.05.2018 16:15 17:00 HSB 3 3) Di 12.06.2018 16:15 17:00 HSB 3 Stoffgebiete: 1) Ganzzahltypen: char,

Mehr

Institut für Programmierung und Reaktive Systeme. Java 7. Markus Reschke

Institut für Programmierung und Reaktive Systeme. Java 7. Markus Reschke Institut für Programmierung und Reaktive Systeme Java 7 Markus Reschke 14.10.2014 Vererbung in Java Vererbung ermöglicht es, Klassen zu spezialisieren Wiederverwendung vorhandener Klassen Kindsklasse erhält

Mehr

virtual Wertpapier& operator=(const Wertpapier&); // VIRTUELLE ZUWEISUNG protected: static enum {wortfeldlaenge = 20}; char* name_z; double kurs; };

virtual Wertpapier& operator=(const Wertpapier&); // VIRTUELLE ZUWEISUNG protected: static enum {wortfeldlaenge = 20}; char* name_z; double kurs; }; C++ für Anfänger des Programmierens Rieckeheer GSO-Hochschule Nürnberg März 2008 174 a neu Vor Kapitel 24 ist folgender Text einzufügen. Das folgende Programm variiert das Programm VIRTfunktion3.cpp und

Mehr

7.2 Dynamischer Speicher in Objekten/Kopierkonstruktor

7.2 Dynamischer Speicher in Objekten/Kopierkonstruktor 7.2 Dynamischer Speicher in Objekten/Kopierkonstruktor Das Programmbeispiel aus dem letzten Abschnitt läßt sich bisher nicht zufriedenstellend zu Ende bringen. Unerklärliche Abstürze und Fehlverhalten

Mehr

Gui & Widgets. GUI & Widgets, Events GUI? Als GUI (= Graphical User Interface ) bezeichnet man die

Gui & Widgets. GUI & Widgets, Events GUI? Als GUI (= Graphical User Interface ) bezeichnet man die GUI & Widgets, Events Einführung in C# GUI 3 Übersicht Gui & Widgets Events Kurze Einführung in C# GUI? Als GUI (= Graphical User Interface ) bezeichnet man die grafische Benutzungsschnittstelle oder auch

Mehr

Algorithmen und Datenstrukturen II

Algorithmen und Datenstrukturen II Algorithmen und Datenstrukturen II in JAVA D. Rösner Institut für Wissens- und Sprachverarbeitung Fakultät für Informatik Otto-von-Guericke Universität Magdeburg Sommer 2009, 4. Mai 2009, c 2009 D.Rösner

Mehr

Gliederung. Algorithmen und Datenstrukturen II. Java: Objektorientierung. Java: Objektorientierung. Objektorientierung in JAVA. D.

Gliederung. Algorithmen und Datenstrukturen II. Java: Objektorientierung. Java: Objektorientierung. Objektorientierung in JAVA. D. Gliederung Algorithmen und Datenstrukturen II in JAVA D. Rösner Institut für Wissens- und Sprachverarbeitung Fakultät für Informatik Otto-von-Guericke Universität Magdeburg Sommer 2009, 4. Mai 2009, c

Mehr

Probeklausur: Programmierung WS04/05

Probeklausur: Programmierung WS04/05 Probeklausur: Programmierung WS04/05 Name: Hinweise zur Bearbeitung Nimm Dir für diese Klausur ausreichend Zeit, und sorge dafür, dass Du nicht gestört wirst. Die Klausur ist für 90 Minuten angesetzt,

Mehr

C++, STL und Qt. C++, STL und Qt. Dipl.Ing. Christoph Stockmayer, Schwaig, sto@stockmayer.de

C++, STL und Qt. C++, STL und Qt. Dipl.Ing. Christoph Stockmayer, Schwaig, sto@stockmayer.de C++, STL und Qt Objektorientiertes Programmieren mit C++, Benutzen der STL-Standard-Bibliothek und graphisches User-Interface Qt Dipl.Ing. Christoph Stockmayer, Schwaig, sto@stockmayer.de 1. Einleitung

Mehr

Grundkurs C++ IDE Klassenhierarchien

Grundkurs C++ IDE Klassenhierarchien Grundkurs C++ IDE Klassenhierarchien Martin Knopp 03.05.2017 Folie 1/34 GK C++: IDE, Klassenhierarchien Martin Knopp 03.05.2017 IDE Integrated Development Environment Wir empfehlen: Qt Creator (Bestandteil

Mehr

Objektorientierte Programmierung. Kapitel 22: Aufzählungstypen (Enumeration Types)

Objektorientierte Programmierung. Kapitel 22: Aufzählungstypen (Enumeration Types) Stefan Brass: OOP (Java), 22. Aufzählungstypen 1/20 Objektorientierte Programmierung Kapitel 22: Aufzählungstypen (Enumeration Types) Stefan Brass Martin-Luther-Universität Halle-Wittenberg Wintersemester

Mehr

Institut für Informatik

Institut für Informatik Technische Universität München Institut für Informatik Lehrstuhl für Computer Graphik & Visualisierung WS 2009 Praktikum: Grundlagen der Programmierung Aufgabenblatt 11 Prof. R. Westermann, R. Fraedrich,

Mehr

Programmieren II Abstrakte Klassen / Virtuelle Methoden. Programmieren II Abstrakte Klassen / Virtuelle Methoden

Programmieren II Abstrakte Klassen / Virtuelle Methoden. Programmieren II Abstrakte Klassen / Virtuelle Methoden Einleitende Bemerkungen Einleitende Bemerkungen Aspekte Aufbau von sinnvollen Klassenhierarchien Verwaltung von Objekten unterschiedlichen Typs Mitarbeiter Besonderheiten der Anwendung jeder Angehörige

Mehr

Einführung in Qt. von. Stephan Hellenbrandt. im Rahmen des Bachelorstudiengangs. Scientific Programming

Einführung in Qt. von. Stephan Hellenbrandt. im Rahmen des Bachelorstudiengangs. Scientific Programming Einführung in Qt von Stephan Hellenbrandt im Rahmen des Bachelorstudiengangs Scientific Programming an der Fachhochschule Aachen Abteilung Jülich. Kontakt: Stephan Hellenbrandt BBK3 Lochnerstr. 4-20 52074

Mehr

Einstieg in die Informatik mit Java

Einstieg in die Informatik mit Java 1 / 13 Einstieg in die Informatik mit Java Schnittstellen Gerd Bohlender Institut für Angewandte und Numerische Mathematik Gliederung 2 / 13 1 Einführung 2 Definition einer Schnittstelle 3 Implementierung

Mehr

Konzepte der Programmiersprachen

Konzepte der Programmiersprachen Konzepte der Programmiersprachen Sommersemester 2010 4. Übungsblatt Besprechung am 9. Juli 2010 http://www.iste.uni-stuttgart.de/ps/lehre/ss2010/v_konzepte/ Aufgabe 4.1: Klassen in C ++ Das folgende C

Mehr

Grundkurs C++ IDE Klassenhierarchien

Grundkurs C++ IDE Klassenhierarchien Grundkurs C++ IDE Klassenhierarchien Martin Knopp & Johannes Feldmaier 20.04.2016 Folie 1/35 GK C++: IDE, Klassenhierarchien Martin Knopp & Johannes Feldmaier 20.04.2016 IDE Integrated Development Environment

Mehr