PyQt/QDialog
Description
[modifier | modifier le wikicode]La classe QDialog représente une fenêtre de dialogue. Une telle fenêtre est généralement utilisée pour de courtes actions et des communications brèves avec l'utilisateur. Cette fenêtre peut être modale ou non, avoir un bouton par défaut et retourner une valeur.
Une fenêtre modale est une fenêtre bloquant toute interaction de l'utilisateur sur d'autres éléments graphiques de l'application pendant tout le temps ou la fenêtre est active. À l'inverse, une fenêtre non-modale permet à l'utilisateur de continuer à interagir avec le reste des éléments graphiques. Cette propriété peut être modifiée par l'appel à une méthode ou bien être mise en place directement dans le constructeur de la classe. Le bouton par défaut est le bouton qui sera activé lorsque l'utilisateur appuie sur la touche « Entrée » du clavier. De même, lorsque l'utilisateur appuie sur la touche « Echap », la fenêtre se ferme et met le code Rejected dans sa valeur de retour. Il existe plusieurs sous-classes à QDialog, permettant de créer des types de dialogues prédéfinis[1] :
- QColorDialog : fenêtre de sélection d'une couleur ;
- QErrorMessage : fenêtre pour un message d'erreur ;
- QFileDialog : dialogue de sélection de fichier :
- QFontDialog : dialogue de sélection de police de caractères ;
- QInputDialog : fenêtre permettant de demander une valeur à l'utilisateur ;
- QMessageBox : boîte de message modale avec une icône, un message et des boutons ;
- QProgressDialog : fenêtre contenant une barre de progression ;
- QTabDialog : fenêtre avec de multiples onglets ;
- QWizard : fenêtre permettant de mettre en place facilement un assistant pour aider l'utilisateur.
Constructeur
[modifier | modifier le wikicode]# Constructeur pour la classe QDialog
QDialog ( QWidget parent = None, str name = "", bool modal = False, WFlags f = 0 )
Exemple
[modifier | modifier le wikicode]
PyQt3.* #!/usr/bin/python
# -*- coding : utf-8 -*-
#
# qdialog.py
# Programme exemple pour la classe QDialog
from qt import *
import sys
class Demo(QApplication) :
def init (self,args) :
QApplication. init (self, args)
# dialogue de sélection de fichier
s = QFileDialog.getOpenFileName("", "", None, "Boite d'ouverture de fichier", "Choisissez un fichier")
# conversions nécessaires entre QString et le type str de python
h = QString("<h1>Vous avez choisi le fichier</h1>\n<i>")
h.append(s)
h.append("</i>")
# message d'information sur le fichier séléctionné
QMessageBox.information(None, "Fichier choisi", h)
if name == "__main__" :
x = Demo(sys.argv)
PyQt4.* #!/usr/bin/python
# -*- coding : utf-8 -*-
#
# qdialog.py
# Programme exemple pour la classe QDialog
from PyQt4.QtCore import *
from PyQt4.QtGui import *
import sys
class Demo(QApplication) :
def __init__ (self,args) :
QApplication.__init__(self, args)
# dialogue de sélection de fichier
s = QFileDialog.getOpenFileName(None, "Boite d'ouverture de fichier")
# conversions nécessaires entre QString et le type str de python
h = QString("<h1>Vous avez choisi le fichier</h1>\n<i>")
h.append(s)
h.append("</i>")
# message d'information sur le fichier sélectionné
QMessageBox.information(None, "Fichier choisi", h)
if __name__ == "__main__" :
x = Demo(sys.argv)
|