819
29.3
Dialoge
#7: Es wird ein Objekt erzeugt, das die Aufnahmen mit der Kamera durchführt.
#8: Wenn die Kamera für eine neue Aufnahme bereit ist, wird ein neues Bild aufgenommen
und unter dem angegebenen Pfad gespeichert. Wenn kein Pfad, sondern nur ein Dateiname
angegeben wird, speichert das System das neue Bild im Standardordner für Bilder.
29.3 Dialoge
Ein Dialog ist ein Gespräch zweier Menschen. In der Computertechnik ist eine Dialogbox
(oder kurz ein Dialog) ein Fenster, das die Eingabe oder Auswahl von Daten ermöglicht:
Texte, Farben, Dateinamen usw. Im Unterschied zu anderen Widgets wie etwa Schaltflächen
oder Eingabefeldern ist eine Dialogbox nur während der Eingabe zu sehen. Ist die Eingabe
beendet, verschwindet sie wieder. Typischerweise ist eine Dialogbox relativ komplex und
bietet einigen Komfort bei der Auswahl eines Items: Einen Dateinamen kann man durch
Navigieren im Verzeichnisbaum suchen und eine Farbe kann man durch Anklicken eines
Farbfeldes in einer Palette auswählen.
Qt bietet eine Reihe von Klassen, die Dialogboxen repräsentieren. In der Praxis erzeugt man
aber keine Instanz einer Dialog-Klasse, stattdessen ruft man eine statische Methode auf, die
die Dialogbox auf den Bildschirm bringt und das ausgewählte Objekt zurückgibt. Der Auf-
ruf einer statischen Methode beginnt mit dem Klassennamen, gefolgt von einem Punkt und
dem Namen der Methode.
Abb. 29.7: Dialogbox zur Eingabe einer ganzen Zahl
Methode Erklärung
availableDevices()
Liefert eine Liste der verfügbaren Kameras.
setCaptureMode(mode)
Einstellung des Aufnahme-Modus. Der Parameter ist ent-
weder
QCamera.CaptureStillImage (Einzelbilder) oder
QCamera.CaptureVideo (Video).
setViewfinder(viewfinder)
Der Kamera wird ein Viewfinder (Sucher) zugeordnet, ein
Widget, das das Kamerabild anzeigt.
start()
Der Viewfinder der Kamera startet und das angeschlossene
Wiedergabe-Widget zeigt ständig das aktuelle Kamerabild.
stop()
Der Viewfinder der Kamera beendet seine Aktivität. Das
angezeigte Bild auf dem Wiedergabe-Widget wird nicht
mehr aktualisiert und »friert ein«.
Tabelle 29.2: Einige Methoden von QCamera-Objekten (Modul PYQT5.QTMULTIMEDIA)
Kapitel 29
Multimediaanwendungen mit Qt
820
Hier ist ein typischer Aufruf im Rahmen einer Klassendefinition. Der Aufruf bewirkt, dass
eine Dialogbox wie in Abbildung 29.7 erscheint.
Die Methode liefert ein Tupel mit zwei Objekten. Das erste ist die eingegebene ganze Zahl
Typ (
int) und das zweite Objekt ist ein Wahrheitswert (Typ bool). Die Argumente sind
optional und haben folgende Bedeutung:
Das erste Argument ist ein Widget, das in der Hierarchie der Widgets Eltern-Widget der
Dialogbox sein soll.
Titel der Dialogbox,
Hinweis zum Ausfüllen des Eingabefeldes,
optionales Schlüsselwortargument, das eine Zahl spezifiziert, die schon vorab im Einga-
befeld der Dialogbox stehen soll.
Tabelle 29.3 gibt einen Überblick über einige gebräuchliche Methoden, mit denen Dia-
loge erzeugt werden können. Alle Dialogklassen werden übrigens aus dem Modul
PyQt5.QtWidgets importiert.
count, ok = QInputDialog.getInt(self, "Gruppengröße",
"Anzahl der Teilnehmer:",
value=10)
Methode Erklärung
QColorDialog.currentColor(
parent ...)
Erzeugt eine Dialogbox mit Palette zur Auswahl
einer Farbe. Zurückgegeben wird ein
QColor-
Objekt, das die ausgewählte Farbe darstellt. Das
Argument
parent ist ein Widget, das in der Wid-
get-Hierachie das Eltern-Widget der Dialogbox
sein soll.
QFileDialog.getOpenFilename(
parent, caption[, filter] ...)
Erzeugt eine Dialogbox zum Laden einer Datei.
Zurückgegeben wird ein Tupel aus zwei Strings.
Dabei ist der erste String der gewählte Dateiname.
Das erste Argument
parent ist ein Widget, das in
der Widget-Hierachie das Eltern-Widget der Box
sein soll. Das Argument
caption ist ein String
mit dem Titel der Box. Mit dem optionalen Argu-
ment
filter wird ein String wie z.B. "*.jpg"
zum Filtern von Dateinamen definiert.
QFileDialog.saveFilename(
parent, caption[, filter] ...)
Erzeugt eine Dialogbox zum Speichern einer
Datei. Zurückgegeben wird ein Tupel aus zwei
Strings. Dabei ist der erste String der gewählte
Dateiname. Die Argumente sind wie bei
QFileDialog.getOpenFilename.
QFontDialog.getFont(parent...)
Erzeugt eine Dialogbox zur Auswahl eines Schrift-
typs. Zurückgegeben wird ein
QFont-Objekt.
Tabelle 29.3: Einige statische Methoden zur Nutzung von Dialog-Widgets

Get Python 3 - Lernen und professionell anwenden now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.