Wie erstelle ich einen nicht blockierenden, nicht modalen Dialog, der QMessageBox::information entspricht?Wie mache ich eine nicht-blockierende, nicht-modale QMessageBox?
6
A
Antwort
24
Was meinen Sie mit "Entsperren"? Nicht modal? Oder eine, die die Ausführung nicht blockiert, bis der Benutzer ok klickt? In beiden Fällen werden Sie eine QMessageBox manuell statt mit den bequemen statischen Methoden wie QMessageBox :: kritisch() usw.
In beiden Fällen erstellen müssen, Ihre Freunde sind QDialog::open()
und QMessageBox::open(QObject*, const char*)
:
void MyWidget::someMethod() {
...
QMessageBox* msgBox = new QMessageBox(this);
msgBox->setAttribute(Qt::WA_DeleteOnClose); //makes sure the msgbox is deleted automatically when closed
msgBox->setStandardButtons(QMessageBox::Ok);
msgBox->setWindowTitle(tr("Error"));
msgBox->setText(tr("Something happened!"));
msgBox->setIcon...
...
msgBox->setModal(false); // if you want it non-modal
msgBox->open(this, SLOT(msgBoxClosed(QAbstractButton*)));
//... do something else, without blocking
}
void MyWidget::msgBoxClosed(QAbstractButton*) {
//react on button click (usually only needed when there > 1 buttons)
}
Natürlich können Sie das in Ihre eigenen Hilfsfunktionen einbinden, so dass Sie nicht alles über Ihren Code duplizieren müssen.
Verwandte Themen
- 1. Wie bekomme ich Zugriff auf eine QMessageBox von QTest
- 2. Wie mache ich eine Knopfanimation?
- 3. Wie mache ich eine Zeitsequenz?
- 4. Wie benutzerdefiniertes Bild auf QMessageBox
- 5. Eine QMessageBox von einem QThread anzeigen
- 6. QMessageBox Auto-Zeilenumbrüche vermeiden
- 7. HTML in QMessageBox
- 8. QMessageBox löschen beim Schließen
- 9. QMessageBox; Button Layouts
- 10. Wie mache ich eine Schleife in Assembler?
- 11. Wie mache ich eine Ellipse blinken?
- 12. Wie mache ich eine skinfähige Anwendung?
- 13. Wie mache ich eine Instanz bewegen
- 14. Wie mache ich eine Kompilierung compileSdkVersion?
- 15. Wie mache ich eine Echtzeit-Mehrfachliniengrafik?
- 16. RxJava: Wie mache ich eine Observable Observable?
- 17. Wie mache ich eine Ansicht 50% transparent?
- 18. Wie mache ich eine Arraylist public
- 19. Wie mache ich eine Schattenbox mit Farbverlauf?
- 20. Wie mache ich eine expandierende Textbox?
- 21. Wie mache ich eine saubere asynchrone Schleife?
- 22. Wie mache ich eine ListPreference mit Checkbox
- 23. Wie mache ich eine Rohrschleife in Zsh?
- 24. Wie mache ich eine XSL-Reihe unsichtbar?
- 25. Tkinter: Wie mache ich eine Taskleiste?
- 26. Wie mache ich eine aspxdocumentviewer Richtung rtl?
- 27. Wie mache ich eine href zu Port?
- 28. Wie mache ich eine Ansicht in ios
- 29. Wie mache ich eine Breitenbindung in CSS?
- 30. C# Wie mache ich eine Rückkehrfunktion?
Thnks viel ... Ich suche 4 gleiche Sache. –