Seite 1 von 1

Popup Window

Verfasst: 27. Mai 2006 21:55
von coffeejunky24
Hallo Allerseits.

Ich habe mal wieder eine Frage, und zwar möchte ich in meiner Applikation an verschiedenen Stellen gerne so eine Art "Popup" erscheinen lassen.
So in der Art: "Sind sie sicher... Ja/Nein"

Spontan hatte ich ein Widget erstellt, WindowFlags auf Popup gestellt und Text sowie Buttons draufgelegt.
Damit bin ich aber nicht wirklich froh: es sieht nicht besonders ansprechend aus, verschwindet hinter meiner Applikation wenn ich daneben klicke, es lassen sich mehrere dieser popups gleichzeitig öffnen, etc

Bevor ich nun versuche diese Eigenschaften alle einzeln abzustellen wollte ich mal nachfragen: Kann man das nicht irgendwie eleganter lösen? Gibt es in QT 4 da vielleicht irgendwelche vorgefertigten Klassen die ich grade übersehe?

Wie würdet ihr so ein Popup realisieren?

Schonmal vielen Dank im Voraus!

Verfasst: 27. Mai 2006 21:58
von BartSimpson
Ich weis ja nicht, was du darstellen willst.
Aber eigentlich gibt es dafür QMessageBox.

Verfasst: 28. Mai 2006 13:40
von FlorianBecker
QMessageBox::question ist sicherlich das, was du suchst.

Verfasst: 30. Mai 2006 22:55
von coffeejunky24
Super! Das war genau das was ich gesucht habe.. vielen Dank!

Allerdings habe ich noch ein Problem, und zwar müßte ich entweder die Buttons im QMessageWindow vergrößern oder meine eigenen Buttons verwenden.

Allerdings finde ich keinen Befehl, mit dem ich die Größe der Buttons ansprechen kann.

Und um meine eigenen Buttons zu verwenden bräuchte ich eine MessageBox ganz ohne Standard-Buttons. Allerdings lässt das die MessageBox nicht zu, denn sogar bei dieser Deklaration:

Code: Alles auswählen

QMessageBox *bla = new QMessageBox("caption","text",QMessageBox::Warning, QMessageBox::NoButton, QMessageBox::NoButton, QMessageBox::NoButton);
wird standard-mässig ein OK-Button eingefügt.

Kennt hierfür vielleicht jemand eine Lösung?

Verfasst: 30. Mai 2006 23:00
von FlorianBecker
Dann wirst du selbst eine eigene Klasse schreiben müssen, die Buttons kann man nicht verändern - soweit ich es noch weiß. Einfach eine Klasse von QDialog ableiten und Fenster in der entsprechenden Größe machen.