SlideShare uma empresa Scribd logo
1 de 22
Baixar para ler offline
Übersicht
GUI
PyQT
Sommerkurs Python - 05. GUITU Dresden, 23.05.2011 Folie 1 von XYZ
GUI
Graphical User Interface
Sommerkurs Python - 05. GUITU Dresden, 23.05.2011 Folie 2 von XYZ
GUI - Graphical User Interface
Ø  Wikipedia sagt:
Eine grafische Benutzeroberfläche ist eine Software-Komponente,
die dem Benutzer eines Computers die Interaktion mit der Maschine
über grafische Symbole erlaubt. Die Darstellungen und Elemente
(Arbeitsplatz, Symbole, Papierkorb, Menü) können meist unter
Verwendung eines Zeigegerätes wie einer Maus gesteuert werden.
Ø  1970 erstes System mit GUI – Xerox Alto von Xerox PARC
Ø  1983 Apple Lisa
Ø  1985 Microsoft Windows 1.03
Ø  1992 Mircosoft Windows 3.1
Ø  2000/2002 KDE (QT) / GNOME (GTK)
Ø  2009 Windows 7
Sommerkurs Python - 05. GUITU Dresden, 23.05.2011 Folie 3 von XYZ
Alternativen
Ø  Tkinter
Ø  basiert auf Tcl/Tk
Ø  kein Plattformkonformes GUI
Ø  wxPython
Ø  basiert auf wxWindows
Ø  Wrapper für native Bibliotheken (Win32 Controls, GTK)
Ø  PyGTK
Ø  basiert auf GTK (Gimp Toolkit)
Ø  bedingt plattformunabhängig
Ø  Pythonwin
Ø  Binding für Windows MFC Bibliothek (nicht portierbar)
Sommerkurs Python - 05. GUITU Dresden, 23.05.2011 Folie 4 von XYZ
Programmablauf
Sommerkurs Python - 05. GUITU Dresden, 23.05.2011 Folie 5 von XYZ
Widget
Ø  Funktionales Element der GUI
Ø  Abgeschlossener Funktionsumfang
Ø  Graphische Repräsentation eines Models/Tätigkeit
Ø  Bsp.: Button, Textfeld, Tabelle, Label
Ø  Achtung: Abgrenzung!
Ø  Hier explizit nicht Google, Dashboard oder Yahoo Widgets
Sommerkurs Python - 05. GUITU Dresden, 23.05.2011 Folie 6 von XYZ
Frame/Window
Ø  Containerfläche zur Darstellung von Widgets
Ø  Layout Management
Ø  Ziel für Systembuttons (Schliessen, Maximieren, Minimieren)
Ø  Titelzeile (mit Icon)
Sommerkurs Python - 05. GUITU Dresden, 23.05.2011 Folie 7 von XYZ
Dialog
Sommerkurs Python - 05. GUI
Ø  Top Level Window
Ø  Aufgaben bezogen
Ø  Kommunikation mit Nutzer
Ø  Modal vs. Non-Modal
Ø  Rückgabewert und Standard Buttons
Ø  Ok, Cancel, Apply, Reset
TU Dresden, 23.05.2011 Folie 8 von XYZ
MVC – Model View Controller
Sommerkurs Python - 05. GUITU Dresden, 23.05.2011 Folie 9 von XYZ
PYQT
Python QT Binding
Sommerkurs Python - 05. GUITU Dresden, 23.05.2011 Folie 10 von XYZ
PyQT
Ø  QT
Ø  aktuell Version 4.7
Ø  entwickelt von Nokia, früher
Trolltech
Ø  liegt KDE zugrunde
Ø  PyQT
Ø  Binding für QT
Ø  Python(x,y)
Ø  QT – 4.5.2
Ø  Python – 2.6
>>> import PyQt4
>>> help(PyQt4)
Sommerkurs Python - 05. GUI
QT Bibliothek
TU Dresden, 23.05.2011 Folie 11 von XYZ
Nützliche Webseiten
Ø  Riverbank
http://www.riverbankcomputing.co.uk/software/pyqt/intro
Ø  QT 4.5 - Referenz
http://doc.qt.nokia.com/4.5/index.html
Ø  PyQT – Tutorial
http://zetcode.com/tutorials/pyqt4/
Sommerkurs Python - 05. GUITU Dresden, 23.05.2011 Folie 12 von XYZ
Hello World
>>> import sys
>>> from PyQt4.QtCore import *
>>> from PyQt4.QtGui import *
>>> app = QApplication(sys.argv)
>>> widget = QWidget()
>>> widget.resize(250, 150)
>>> widget.setWindowTitle('Hello World')
>>> widget.show()
>>> sys.exit(app.exec_())
Sommerkurs Python - 05. GUITU Dresden, 23.05.2011 Folie 13 von XYZ
MyWidget
from PyQt4 import QtCore
from PyQt4 import QtGui
from PyQt4.QtGui import QWidget, QIcon, QPushButton
class MyWidget(QWidget):
def __init__(self, parent = None):
QWidget.__init__(self, parent)
self.setGeometry(300, 300, 250, 150)
self.setWindowTitle('MyWidget')
self.setWindowIcon(QIcon('icons/web.png'))
if __name__ == "__main__":
widget = MyWidget()
widget.show()
Sommerkurs Python - 05. GUITU Dresden, 23.05.2011 Folie 14 von XYZ
Signals and Slots
Ø  Signale & Slots sind spezielle
Funktionen
Ø  Wird zur Laufzeit gekoppelt
connect(Obj1, Fkt1, Obj2, Fkt2)
Ø  Implementation des Observer-
Pattern
Ø  Alternative zu Callback
Funktionen
Sommerkurs Python - 05. GUITU Dresden, 23.05.2011 Folie 15 von XYZ
Signals & Slots - Beispiel
from PyQt4 import QtCore
from PyQt4 import QtGui
from PyQt4.QtGui import QWidget, QIcon, QPushButton
class MyWidget(QWidget):
def __init__(self, parent = None):
QWidget.__init__(self, parent)
self.setGeometry(300, 300, 250, 150)
self.setWindowTitle('MyWidget')
self.setWindowIcon(QIcon('icons/web.png'))
quit = QPushButton('Close', self)
quit.setGeometry(10, 10, 60, 35)
self.connect( quit, QtCore.SIGNAL('clicked()'),
QtGui.qApp, QtCore.SLOT('quit()') )
Sommerkurs Python - 05. GUITU Dresden, 23.05.2011 Folie 16 von XYZ
Composite
Sommerkurs Python - 05. GUI
Ø  Design Pattern zur Abbildung von Hierarchien
Ø  Rekursives Zusammenbauen von Inhalten
TU Dresden, 23.05.2011 Folie 17 von XYZ
QT Designer
Sommerkurs Python - 05. GUITU Dresden, 23.05.2011 Folie 18 von XYZ
QT Designer
Ø  Visuelles Erstellen von UIs
Ø  Generiert *.ui Dateien basierend auf QML
Ø  XML basierte Beschreibungssprache
Ø  Widgetnamen
Ø  können über Object Inspector eingestellt werden
Ø  können für Programmierung genutzt werden
Ø  pyuic4 erstellt Python Datei aus *.ui Datei
C:Python26Libsite-packagesPyQt4pyuic4.bat –o <OutputDatei>
<InputDatei>
Sommerkurs Python - 05. GUITU Dresden, 23.05.2011 Folie 19 von XYZ
QTDesigner - Beispiel
Ø  Ui_MainWindow.py
Ø  erzeugt über pyuic4 aus DuplicateFinder.ui
Ø  In eigenes Projekt einfügen
from PyQt4.QtGui import QMainWindow
from Ui_MainWindow import Ui_MainWindow
class DuplicateFinderUI(QMainWindow):
def __init__(self):
QMainWindow.__init__(self)
self.ui = Ui_MainWindow()
self.ui.setupUi(self)
self.ui.lineEdit.setText('C:Users')
TU Dresden, 23.05.2011 Sommerkurs Python - 05. GUI Folie 20 von XYZ
Threads
Ø  Thread
Ø  einzelner Programmablauf
Ø  unabhängig von anderen Threads (Nebenläufigkeit)
Ø  Hauptprogramm -> "Thread-0"
Ø  Hauptklasse QThread (PyQt4.QtCore)
Ø  einfache Kommunikation über SIGNALs & SLOTs
Ø  3 Phasen
Ø  Initialisierung (__init__ Method)
Ø  Start (start Methode) – ist gegeben, muss nicht programmiert werden
Ø  Laufzeit (run Methode)
Ø  Alle Threads werden beendet, wenn "Thread-0" beendet wird!
TU Dresden, 23.05.2011 Sommerkurs Python - 05. GUI Folie 21 von XYZ
Standard Dialoge
Operation Erklärung
QColorDialog Farbwähler
QErrorMessage Fehlermeldung
QFileDialog Datei- oder Verzeichnisauswahl
QFontDialog Schriftartwahl
QInputDialog Einfacher Dialog um einen Wert abzufragen
QMessageBox Modaler Dialog zur Informationsdarstellung
QPrintDialog Druckdialog
QProgressDialog Zustandsanzeige
QDialog Allgemeiner Dialog - Basisklasse aller Dialoge
Sommerkurs Python - 05. GUITU Dresden, 23.05.2011 Folie 22 von XYZ

Mais conteúdo relacionado

Semelhante a Sommerkurs python 05_u_06_gui

3d mit Python (PythonCamp)
3d mit Python (PythonCamp)3d mit Python (PythonCamp)
3d mit Python (PythonCamp)Martin Christen
 
Windows 10 IoT Core
Windows 10 IoT CoreWindows 10 IoT Core
Windows 10 IoT CoreJens Siebert
 
WTC 2019 – Flutter
WTC 2019 – FlutterWTC 2019 – Flutter
WTC 2019 – Flutterwebconia
 
Programmierung von Mobiltelefonen mit Python
Programmierung von Mobiltelefonen mit PythonProgrammierung von Mobiltelefonen mit Python
Programmierung von Mobiltelefonen mit PythonAndreas Schreiber
 
Windows 10 IoT Core
Windows 10 IoT CoreWindows 10 IoT Core
Windows 10 IoT CoreJens Siebert
 
C API for Lotus Notes & Domino
C API for Lotus Notes & DominoC API for Lotus Notes & Domino
C API for Lotus Notes & DominoUlrich Krause
 
Einführung in Windows Presentation Foundation
Einführung in Windows Presentation FoundationEinführung in Windows Presentation Foundation
Einführung in Windows Presentation Foundationchmoser79
 
C / C++ Api for Beginners
C / C++ Api for BeginnersC / C++ Api for Beginners
C / C++ Api for BeginnersUlrich Krause
 
Integr8tor v2019.07 release notes - DE
Integr8tor v2019.07 release notes - DEIntegr8tor v2019.07 release notes - DE
Integr8tor v2019.07 release notes - DEucamco
 
Eclipse Ditto Vorstellung (German)
Eclipse Ditto Vorstellung (German)Eclipse Ditto Vorstellung (German)
Eclipse Ditto Vorstellung (German)Daniel Fesenmeyer
 
Python in der Luft- und Raumfahrt
Python in der Luft- und RaumfahrtPython in der Luft- und Raumfahrt
Python in der Luft- und RaumfahrtAndreas Schreiber
 
Azure Notebooks
Azure NotebooksAzure Notebooks
Azure NotebooksTEitelberg
 
Günzel/Griesbaum -OpenShift und GitLab: Continuous delivery in der cloud
Günzel/Griesbaum -OpenShift und GitLab: Continuous delivery in der cloudGünzel/Griesbaum -OpenShift und GitLab: Continuous delivery in der cloud
Günzel/Griesbaum -OpenShift und GitLab: Continuous delivery in der cloudAndreas Günzel
 
Electron.NET: Cross-Platform Desktop Software mit ASP.NET Core
Electron.NET: Cross-Platform Desktop Software mit ASP.NET CoreElectron.NET: Cross-Platform Desktop Software mit ASP.NET Core
Electron.NET: Cross-Platform Desktop Software mit ASP.NET CoreGregor Biswanger
 
Automatisierung von Windows-Anwendungen
Automatisierung von Windows-AnwendungenAutomatisierung von Windows-Anwendungen
Automatisierung von Windows-AnwendungenAndreas Schreiber
 
n-pat: Modulare Anwendungsplattform mit Smartcards
n-pat: Modulare Anwendungsplattform mit Smartcardsn-pat: Modulare Anwendungsplattform mit Smartcards
n-pat: Modulare Anwendungsplattform mit SmartcardsOSGiUsers
 
Schulung: Einführung in das GPU-Computing mit NVIDIA CUDA
Schulung: Einführung in das GPU-Computing mit NVIDIA CUDASchulung: Einführung in das GPU-Computing mit NVIDIA CUDA
Schulung: Einführung in das GPU-Computing mit NVIDIA CUDAJörn Dinkla
 

Semelhante a Sommerkurs python 05_u_06_gui (20)

3d mit Python (PythonCamp)
3d mit Python (PythonCamp)3d mit Python (PythonCamp)
3d mit Python (PythonCamp)
 
Windows 10 IoT Core
Windows 10 IoT CoreWindows 10 IoT Core
Windows 10 IoT Core
 
WTC 2019 – Flutter
WTC 2019 – FlutterWTC 2019 – Flutter
WTC 2019 – Flutter
 
Programmierung von Mobiltelefonen mit Python
Programmierung von Mobiltelefonen mit PythonProgrammierung von Mobiltelefonen mit Python
Programmierung von Mobiltelefonen mit Python
 
Windows 10 IoT Core
Windows 10 IoT CoreWindows 10 IoT Core
Windows 10 IoT Core
 
C API for Lotus Notes & Domino
C API for Lotus Notes & DominoC API for Lotus Notes & Domino
C API for Lotus Notes & Domino
 
Einführung in Windows Presentation Foundation
Einführung in Windows Presentation FoundationEinführung in Windows Presentation Foundation
Einführung in Windows Presentation Foundation
 
C / C++ Api for Beginners
C / C++ Api for BeginnersC / C++ Api for Beginners
C / C++ Api for Beginners
 
Integr8tor v2019.07 release notes - DE
Integr8tor v2019.07 release notes - DEIntegr8tor v2019.07 release notes - DE
Integr8tor v2019.07 release notes - DE
 
Was ist neu in .NET 4.5?
Was ist neu in .NET 4.5?Was ist neu in .NET 4.5?
Was ist neu in .NET 4.5?
 
Eclipse Ditto Vorstellung (German)
Eclipse Ditto Vorstellung (German)Eclipse Ditto Vorstellung (German)
Eclipse Ditto Vorstellung (German)
 
Python in der Luft- und Raumfahrt
Python in der Luft- und RaumfahrtPython in der Luft- und Raumfahrt
Python in der Luft- und Raumfahrt
 
Azure Notebooks
Azure NotebooksAzure Notebooks
Azure Notebooks
 
Günzel/Griesbaum -OpenShift und GitLab: Continuous delivery in der cloud
Günzel/Griesbaum -OpenShift und GitLab: Continuous delivery in der cloudGünzel/Griesbaum -OpenShift und GitLab: Continuous delivery in der cloud
Günzel/Griesbaum -OpenShift und GitLab: Continuous delivery in der cloud
 
Electron.NET: Cross-Platform Desktop Software mit ASP.NET Core
Electron.NET: Cross-Platform Desktop Software mit ASP.NET CoreElectron.NET: Cross-Platform Desktop Software mit ASP.NET Core
Electron.NET: Cross-Platform Desktop Software mit ASP.NET Core
 
TypeScript
TypeScriptTypeScript
TypeScript
 
Help pdf
Help pdfHelp pdf
Help pdf
 
Automatisierung von Windows-Anwendungen
Automatisierung von Windows-AnwendungenAutomatisierung von Windows-Anwendungen
Automatisierung von Windows-Anwendungen
 
n-pat: Modulare Anwendungsplattform mit Smartcards
n-pat: Modulare Anwendungsplattform mit Smartcardsn-pat: Modulare Anwendungsplattform mit Smartcards
n-pat: Modulare Anwendungsplattform mit Smartcards
 
Schulung: Einführung in das GPU-Computing mit NVIDIA CUDA
Schulung: Einführung in das GPU-Computing mit NVIDIA CUDASchulung: Einführung in das GPU-Computing mit NVIDIA CUDA
Schulung: Einführung in das GPU-Computing mit NVIDIA CUDA
 

Sommerkurs python 05_u_06_gui

  • 1. Übersicht GUI PyQT Sommerkurs Python - 05. GUITU Dresden, 23.05.2011 Folie 1 von XYZ
  • 2. GUI Graphical User Interface Sommerkurs Python - 05. GUITU Dresden, 23.05.2011 Folie 2 von XYZ
  • 3. GUI - Graphical User Interface Ø  Wikipedia sagt: Eine grafische Benutzeroberfläche ist eine Software-Komponente, die dem Benutzer eines Computers die Interaktion mit der Maschine über grafische Symbole erlaubt. Die Darstellungen und Elemente (Arbeitsplatz, Symbole, Papierkorb, Menü) können meist unter Verwendung eines Zeigegerätes wie einer Maus gesteuert werden. Ø  1970 erstes System mit GUI – Xerox Alto von Xerox PARC Ø  1983 Apple Lisa Ø  1985 Microsoft Windows 1.03 Ø  1992 Mircosoft Windows 3.1 Ø  2000/2002 KDE (QT) / GNOME (GTK) Ø  2009 Windows 7 Sommerkurs Python - 05. GUITU Dresden, 23.05.2011 Folie 3 von XYZ
  • 4. Alternativen Ø  Tkinter Ø  basiert auf Tcl/Tk Ø  kein Plattformkonformes GUI Ø  wxPython Ø  basiert auf wxWindows Ø  Wrapper für native Bibliotheken (Win32 Controls, GTK) Ø  PyGTK Ø  basiert auf GTK (Gimp Toolkit) Ø  bedingt plattformunabhängig Ø  Pythonwin Ø  Binding für Windows MFC Bibliothek (nicht portierbar) Sommerkurs Python - 05. GUITU Dresden, 23.05.2011 Folie 4 von XYZ
  • 5. Programmablauf Sommerkurs Python - 05. GUITU Dresden, 23.05.2011 Folie 5 von XYZ
  • 6. Widget Ø  Funktionales Element der GUI Ø  Abgeschlossener Funktionsumfang Ø  Graphische Repräsentation eines Models/Tätigkeit Ø  Bsp.: Button, Textfeld, Tabelle, Label Ø  Achtung: Abgrenzung! Ø  Hier explizit nicht Google, Dashboard oder Yahoo Widgets Sommerkurs Python - 05. GUITU Dresden, 23.05.2011 Folie 6 von XYZ
  • 7. Frame/Window Ø  Containerfläche zur Darstellung von Widgets Ø  Layout Management Ø  Ziel für Systembuttons (Schliessen, Maximieren, Minimieren) Ø  Titelzeile (mit Icon) Sommerkurs Python - 05. GUITU Dresden, 23.05.2011 Folie 7 von XYZ
  • 8. Dialog Sommerkurs Python - 05. GUI Ø  Top Level Window Ø  Aufgaben bezogen Ø  Kommunikation mit Nutzer Ø  Modal vs. Non-Modal Ø  Rückgabewert und Standard Buttons Ø  Ok, Cancel, Apply, Reset TU Dresden, 23.05.2011 Folie 8 von XYZ
  • 9. MVC – Model View Controller Sommerkurs Python - 05. GUITU Dresden, 23.05.2011 Folie 9 von XYZ
  • 10. PYQT Python QT Binding Sommerkurs Python - 05. GUITU Dresden, 23.05.2011 Folie 10 von XYZ
  • 11. PyQT Ø  QT Ø  aktuell Version 4.7 Ø  entwickelt von Nokia, früher Trolltech Ø  liegt KDE zugrunde Ø  PyQT Ø  Binding für QT Ø  Python(x,y) Ø  QT – 4.5.2 Ø  Python – 2.6 >>> import PyQt4 >>> help(PyQt4) Sommerkurs Python - 05. GUI QT Bibliothek TU Dresden, 23.05.2011 Folie 11 von XYZ
  • 12. Nützliche Webseiten Ø  Riverbank http://www.riverbankcomputing.co.uk/software/pyqt/intro Ø  QT 4.5 - Referenz http://doc.qt.nokia.com/4.5/index.html Ø  PyQT – Tutorial http://zetcode.com/tutorials/pyqt4/ Sommerkurs Python - 05. GUITU Dresden, 23.05.2011 Folie 12 von XYZ
  • 13. Hello World >>> import sys >>> from PyQt4.QtCore import * >>> from PyQt4.QtGui import * >>> app = QApplication(sys.argv) >>> widget = QWidget() >>> widget.resize(250, 150) >>> widget.setWindowTitle('Hello World') >>> widget.show() >>> sys.exit(app.exec_()) Sommerkurs Python - 05. GUITU Dresden, 23.05.2011 Folie 13 von XYZ
  • 14. MyWidget from PyQt4 import QtCore from PyQt4 import QtGui from PyQt4.QtGui import QWidget, QIcon, QPushButton class MyWidget(QWidget): def __init__(self, parent = None): QWidget.__init__(self, parent) self.setGeometry(300, 300, 250, 150) self.setWindowTitle('MyWidget') self.setWindowIcon(QIcon('icons/web.png')) if __name__ == "__main__": widget = MyWidget() widget.show() Sommerkurs Python - 05. GUITU Dresden, 23.05.2011 Folie 14 von XYZ
  • 15. Signals and Slots Ø  Signale & Slots sind spezielle Funktionen Ø  Wird zur Laufzeit gekoppelt connect(Obj1, Fkt1, Obj2, Fkt2) Ø  Implementation des Observer- Pattern Ø  Alternative zu Callback Funktionen Sommerkurs Python - 05. GUITU Dresden, 23.05.2011 Folie 15 von XYZ
  • 16. Signals & Slots - Beispiel from PyQt4 import QtCore from PyQt4 import QtGui from PyQt4.QtGui import QWidget, QIcon, QPushButton class MyWidget(QWidget): def __init__(self, parent = None): QWidget.__init__(self, parent) self.setGeometry(300, 300, 250, 150) self.setWindowTitle('MyWidget') self.setWindowIcon(QIcon('icons/web.png')) quit = QPushButton('Close', self) quit.setGeometry(10, 10, 60, 35) self.connect( quit, QtCore.SIGNAL('clicked()'), QtGui.qApp, QtCore.SLOT('quit()') ) Sommerkurs Python - 05. GUITU Dresden, 23.05.2011 Folie 16 von XYZ
  • 17. Composite Sommerkurs Python - 05. GUI Ø  Design Pattern zur Abbildung von Hierarchien Ø  Rekursives Zusammenbauen von Inhalten TU Dresden, 23.05.2011 Folie 17 von XYZ
  • 18. QT Designer Sommerkurs Python - 05. GUITU Dresden, 23.05.2011 Folie 18 von XYZ
  • 19. QT Designer Ø  Visuelles Erstellen von UIs Ø  Generiert *.ui Dateien basierend auf QML Ø  XML basierte Beschreibungssprache Ø  Widgetnamen Ø  können über Object Inspector eingestellt werden Ø  können für Programmierung genutzt werden Ø  pyuic4 erstellt Python Datei aus *.ui Datei C:Python26Libsite-packagesPyQt4pyuic4.bat –o <OutputDatei> <InputDatei> Sommerkurs Python - 05. GUITU Dresden, 23.05.2011 Folie 19 von XYZ
  • 20. QTDesigner - Beispiel Ø  Ui_MainWindow.py Ø  erzeugt über pyuic4 aus DuplicateFinder.ui Ø  In eigenes Projekt einfügen from PyQt4.QtGui import QMainWindow from Ui_MainWindow import Ui_MainWindow class DuplicateFinderUI(QMainWindow): def __init__(self): QMainWindow.__init__(self) self.ui = Ui_MainWindow() self.ui.setupUi(self) self.ui.lineEdit.setText('C:Users') TU Dresden, 23.05.2011 Sommerkurs Python - 05. GUI Folie 20 von XYZ
  • 21. Threads Ø  Thread Ø  einzelner Programmablauf Ø  unabhängig von anderen Threads (Nebenläufigkeit) Ø  Hauptprogramm -> "Thread-0" Ø  Hauptklasse QThread (PyQt4.QtCore) Ø  einfache Kommunikation über SIGNALs & SLOTs Ø  3 Phasen Ø  Initialisierung (__init__ Method) Ø  Start (start Methode) – ist gegeben, muss nicht programmiert werden Ø  Laufzeit (run Methode) Ø  Alle Threads werden beendet, wenn "Thread-0" beendet wird! TU Dresden, 23.05.2011 Sommerkurs Python - 05. GUI Folie 21 von XYZ
  • 22. Standard Dialoge Operation Erklärung QColorDialog Farbwähler QErrorMessage Fehlermeldung QFileDialog Datei- oder Verzeichnisauswahl QFontDialog Schriftartwahl QInputDialog Einfacher Dialog um einen Wert abzufragen QMessageBox Modaler Dialog zur Informationsdarstellung QPrintDialog Druckdialog QProgressDialog Zustandsanzeige QDialog Allgemeiner Dialog - Basisklasse aller Dialoge Sommerkurs Python - 05. GUITU Dresden, 23.05.2011 Folie 22 von XYZ