QT-Komponenten
Implementieren und studieren Sie die vorgestellten Beispiele zu
Labels
Buttons
LineEdit
TextEditor
QT-Grafik
Analog für
QPainter.
Untersuchen Sie die verschiedenen Zeichenfunktionen
(
Ellipse, Rectangle, Polygon, ...)
Variieren Sie Linien- bzw. Füll-farben/muster.
Maus-Events
Implementieren und variieren Sie die Beispiele zu den Maus-Events.
Erweitern Sie das moveCircle Beispiel, so dass Klick mit rechter Maus
Änderung des Radius macht statt Kreis zu bewegen.
Projekt: Demo zur Dreieck-Geometrie
Eine erstaunliche geometrische Eigenschaft von Dreiecken besteht darin, dass die
Mittelsenkrechten sich
immer in einem Punkt treffen; das gilt für beliebige Dreiecke.
Mit Qt ist es
relativ einfach eine entsprechende
graphische Demo zu programmieren.Benötigt wird:
Zeichnen eines Dreiecks durch Angabe von drei 2D Koordinaten
drawPolygon ( qpa );
wobei
QPolygon qpa(3); Array mit 3 Elementen = Ecken des Dreiecks.
Reaktion auf Maus:
MouseClick soll nächstliegende Ecke an Maus-Position verschieben
MouseDrag soll Dreieck-Ecke mitziehen
Zeichnen der Mittelsenkrechten für das Dreieck
etwas kniffliger Algorithmus, später ...
Signal & Slots
Implementieren und studieren Sie die vorgestellten Beispiele zu
Signal & Slots.
Taschenrechner für Big-Integers
Verwenden Sie im vorgestellten Taschenrechnerbeispiel die
BigInt Klasse
anstatt der normalen
Integers.
(BigInt
Header BigInt.hxx
und
code BigInt.cxx.)
Farbmenues
Erweitern Sie die Menues im Beispiel
moveCircle3 so dass nicht nur Hintergrund,
sondern separat Randfarbe, Füllfarbe und Hintergrund eingestellt werden können.
Am besten eine weitere
QMenu Ebene einführen.
Animationen (a) Implementieren Sie das BallAnim1 Beispiel. Variieren Sie Timer-Intervall und Ball-Geschwindigkeit.
Was sind
gute Werte für ruhige Bilder ?
(b) Erweitern Sie die Animation so, dass bei jedem Mausklick ins Fenster ein weiterer Ball gestartet wird
(Hinweis: Bälle in
vector< Ball* > abspeichern)
(c) In PlanetAnim.C
finden Sie eine simple Animation zur
Bewegung von Erde um Sonne bzw. Mond um Erde. Fügen Sie weitere Planeten hinzu.