Les fenêtres standards

Elles proviennent de la classe QMessageBox.

Dans le header :

#include <QtWidgets/QMessageBox>

MessageBox

Petites fenêtres bien utiles et rapides à mettre en place.

Information :

QMessageBox::information(this,"Information","texte de la fenêtre");

Question : 

QMessageBox::question(this,"Question","texte de la fenêtre");

Remarque : La réponse pouvant être de type Vrai ou faux, on peut récupérer cette information de la manière suivante :

int reponse = QMessageBox::question(this,"Question","texte de la fenêtre");

if (reponse==QMessageBox::Yes)

          {
             // instructions pour Yes

          }

                  else

          {
             //instructions pour No

           }


Mise en garde : 

QMessageBox::warning(this,"Attention","texte de la fenêtre");

Alerte critique :

QMessageBox::critical(this,"Erreur critique","texte de la fenêtre");

Sans icone :

QMessageBox::about(this,"Sans icone","texte de la fenêtre");

Remarque : Les commandes ci-dessus fonctionnent si un conteneur a été défini (une fenêtre MainWindow par exemple). On peut aussi utiliser :

     QMessageBox msgbox(QMessageBox::NoIcon, "Sans icone", "texte de la fenêtre");
       msgbox.exec();


Fenêtre d'ouverture de fichier

La fenêtre d'ouverture de fichier provient de QFileDialog

Dans le .h

#include <QtWidgets/QFileDialog>

....

    QString *nomfichier ; //nom du fichier sélectionné

Dans le .cpp

QString nomfichier = QFileDialog::getOpenFileName(this, "Ouvrir une image", QString(), "Images (*.bmp)");

QMessageBox::information(this, "Fichier", "Vous avez sélectionné :\n" + nomfichier);


Fenêtre de saisie de texte

Cette fenêtre permet de saisir un texte et de le restituer. La classe est QInputDialog

 Dans le .h

#include <QtWidgets/QInputDialog>

Dans le .cpp

bool ok;

     QString text = QInputDialog::getText(this, tr("QInputDialog::getText()"),

                                          tr("User name:"), QLineEdit::Normal,

                                          QDir::home().dirName(), &ok);

     if (ok && !text.isEmpty())

         textLabel->setText(text);

text restitue le text saisi dans la fenêtre. La methode getText permet de spécifier l'entête de la fenêtre, le texte de consigne et le type de bouton.


Extraits partiels de qt.developpez.com