Seite 1 von 1
QMessageBox soll Fokus bekommen
Verfasst: 12. Januar 2008 01:03
von TimeForGold
Guten Abend Zusammen,
kurze Frage, von meiner Anwendung soll eine QMessageBox geöffnet werden, die aber den Fokus erhält. Z.B. meine Anwendung läuft nebenbei, ich verwende gerade eine andere Anwendung, wenn das PopUp erscheint soll dies auch zusehen sprich im Fordergrund.
Hier mein Ansatz leider ohne erfolg (das PopUp wird nicht im Fokus angezeigt)
QMessageBox b;
b.setFocus();
b.warning(this, tr("Zeit abgelaufen"), tr("Achtung die Zeit ist abgelaufen!"));
Ich hatte auch schon setFocus(Qt:: mit entsprechenden enum Einträgen) erfolglos versucht.
Verfasst: 12. Januar 2008 08:24
von upsala
warning() ist statisch
Code: Alles auswählen
QMessageBox::warning(this, tr("Zeit abgelaufen"), tr("Achtung die Zeit ist abgelaufen!"));
Verfasst: 12. Januar 2008 09:42
von TimeForGold
Danke für den Tipp. Habe trotzdem noch Schwierigkeiten mit dem Focus.
Ich habe jetzt folgendes gemacht:
Code: Alles auswählen
QMessageBox b;
b.setStandardButtons(QMessageBox::Ok);
b.setWindowTitle("Free Sandglass - Information");
b.setText("Die Zeit ist abgelaufen!");
b.setIcon(QMessageBox::Information);
b.setFocus();
b.exec();
Verfasst: 12. Januar 2008 13:22
von TimeForGold
Leider brachte auch folgendes noch keinen erfolg, hat Jemand noch einen Tipp oder Lösungsvorschlag?
Code: Alles auswählen
QMessageBox b;
b.setStandardButtons(QMessageBox::Ok);
b.setWindowFlags(b.windowFlags()|Qt::WindowStaysOnTopHint);
b.setWindowModality(Qt::ApplicationModal);
b.setModal(true);
b.setWindowTitle("Free Sandglass - Information");
b.setText("Die Zeit ist abgelaufen!");
b.setIcon(QMessageBox::Information);
b.setFocus();
b.exec();
Verfasst: 12. Januar 2008 14:36
von Christian81
Verfasst: 12. Januar 2008 15:37
von TimeForGold
Ja ok das habe ich wohl übersehen. Habe den Code geändert aber funktioniert noch nicht. Was habe ich falsch gemacht?
Code: Alles auswählen
QMessageBox b;
b.setStandardButtons(QMessageBox::Ok);
b.setWindowFlags(b.windowFlags()|Qt::Popup);
b.setWindowModality(Qt::ApplicationModal);
b.setWindowTitle("Free Sandglass - Information");
b.setText("Die Zeit ist abgelaufen!");
b.setIcon(QMessageBox::Information);
b.setFocus(Qt::PopupFocusReason);
b.exec();
Verfasst: 12. Januar 2008 17:15
von Christian81
Qt::Popup??
Qt::WindowStaysOnTopHint !
Verfasst: 12. Januar 2008 17:36
von TimeForGold
Das hatte ich schon, aber leider ohne Erfolg, schaue mal zwei Posts von mir weiter oben.
Verfasst: 12. Januar 2008 17:46
von Christian81