From Mirek Socha zapraszam!

Qt: Q Message Box

Opis

Klasa udostępnia proste okienka, umożliwiające poinformowanie użytkownika lub też wymagające odpowiedzi na pytanie. Pełna dokumentacja.

Przykłady

Proste powiadomienie:


 QMessageBox msgBox;
 msgBox.setText("Plik został zmieniony.");
 msgBox.exec();
 

Okienko z pytanie dla użytkownika:


  QMessageBox msgBox;
      msgBox.setWindowTitle("Uwaga!");
      msgBox.setIcon(QMessageBox::Question);
      msgBox.setText(trUtf8("Plik został zmieniony."));
      msgBox.setInformativeText(trUtf8("Czy zapisać zmiany?"));
      msgBox.setStandardButtons(QMessageBox::Save | QMessageBox::Discard | QMessageBox::Cancel);
      msgBox.setDefaultButton(QMessageBox::Save);

  int ret = msgBox.exec();         // wywołanie okienka z zapytaniem

  switch (ret) {                   // interpretacja wyboru użytkownika
    case QMessageBox::Save:
       // zapisanie danych
       break;
    case QMessageBox::Discard:
       // kontynuacja bez zapisania danych
       break;
    case QMessageBox::Cancel:
       // przerwanie działania
       break;
    default:
       // ten fragment nigdy nie powinien być wywołany
       break;
 }
 

Dodanie własnego przycisku:


 QMessageBox msgBox;
 QPushButton *connectButton = msgBox.addButton(tr("Connect"), QMessageBox::ActionRole);
 QPushButton *abortButton = msgBox.addButton(QMessageBox::Abort);

 msgBox.exec();

 if (msgBox.clickedButton() == connectButton) {
     // connect
 } else if (msgBox.clickedButton() == abortButton) {
     // abort
 }
 

Okienko "O programie"

Opis w okienku About może być formatowane znacznikami HTML'a:


    QMessageBox::about(this,
                        tr("O programie..."),
                QString::fromUtf8(
                        "<p>BRONCHOVID3D</p>"
                        "<p align=\"right\"> <br><i>Mirosław Socha<br</i> <br>2009-2010 </p>")
                );
 

Okienko z informacją o Qt:


    QApplication::aboutQt();
 
Retrieved from http://home.agh.edu.pl/~socha/pmwiki/pmwiki.php/Qt/QMessageBox
Data ostatniej modyfikacji: 08.02.2011, 12:15