QT MessageBox mit Icon in der Titelleiste
-
gibt es in QT eine Möglichkeit, das Application Icon in der Titelleiste in Message Box wegzubekommen?
hier was ich meine:
http://loop.servehttp.com/~vertexwahn/uploads/warnung.pngder Code:
QMessageBox::warning( 0, "Warnung", "Das ist eine Warnung!", QMessageBox::Yes | QMessageBox::No | QMessageBox::Cancel);
so sieht es bei Word aus (ohne Icon in der Titelleiste):
http://loop.servehttp.com/~vertexwahn/uploads/word.png
-
Über die statischen Funktionen nicht. Erstell dir ein eigenes MessaegBox-Objekt, und konfigurier es nach deinem Gusto. Das WindowIcon setzt du mit setWindowIcon() (geerbt von QWidget).
Wenn du das öfter brauchst, lager das setup in eine eigene Methode aus, so wie es auch die statischen Methoden aus QMessageBox machen.
-
Was soll ich in setWindowIcon hineinstopfen, damit ich keine Icon habe?
QMessageBox mb( APPLICATION_NAME, "The document has been modified.\n" "\n" "Do you want to save your changes?", QMessageBox::Warning, QMessageBox::Yes | QMessageBox::Default, QMessageBox::No, QMessageBox::Cancel | QMessageBox::Escape ); mb.setWindowIcon( QIcon() );
-
so gehts:
mb.setWindowFlags(Qt::Dialog | Qt::CustomizeWindowHint | Qt::WindowTitleHint);
-
Ups.. ich hab mich getäuscht... es funktioniert doch nicht - ich bekomm mit QT einfach keine MessageBox hin die so aussieht:
http://loop.servehttp.com/~vertexwahn/uploads/word.png
Hab jetzt das "Window Flags" Beispiel gefunden, wo man einfach die verschiedene Kombinationen von Hints durchtesten kann - aber keine liefert das gewünschte Ergebnis
-
hier hat jemand das gleiche Problem:
http://stackoverflow.com/questions/1235812/qt-dialog-with-no-window-icon-system-menu
Anscheinend gehts einfach nicht - Lustig das ein Framework, das ich 8 Stunden übersetzten musste dann nicht mal so eine MessageBox hinbekommt, wie ich sie will
-
Vertexwahn schrieb:
Hab jetzt das "Window Flags" Beispiel gefunden, wo man einfach die verschiedene Kombinationen von Hints durchtesten kann - aber keine liefert das gewünschte Ergebnis
Dann hast Du nicht genügend probiert
Versuch´s mal mitmb.setWindowFlags(Qt::Tool);
Hab´s gerade getestet, das klappt.
Gruß mannermoe
-
Bei dem Flag Qt::Tool gefällt mir der Button zum Schließen des Fensters nicht - der wird auf einmal so klein:
-
O.K., ich arbeite mit XP im Windows2000 Style, da sind die Buttons gleich.
Kannst ja Qt::Drawer auch mal testen, ich glaube das waren die einzigen beiden wo das Icon fehlt.Edit: Ja, bin jetzt im XP Style, da sind die Titelleisten und Knöpfe wirklich kleiner bei Qt::Tools und Qt::Drawer. War halt die einzige Möglichkeit die ich gefunden habe.