Seite 1 von 1

QMessageBox zentrieren

Verfasst: 14. Februar 2007 22:15
von sea_bear
Moin moin!
Mein Hauptfenster ist in der linken oberen Ecke des Bidschirms angeordnet (besteht nur aus ein paar kleinen Knöpfen). Die einzelnen Fenster die meine Anwendung öffnet, sind immer Mitte Schirm angeordnet. Nun zeige ich aber für Fehler oder Warnungen eine QMessageBox an. Leider ist die aber nun immer auf mein Hauptfenster links oben zentriert und nicht auf mein Fenster welches diese nun erzeugen sollte.

Mein Code sieht wie folgt aus:

Code: Alles auswählen

  QMessageBox::warning(0,"KBDM",
                         "Could not connect to the Database Server!\n"
                         "This program can't function correctly "
                         "without the server.\n\n",
                         "OK",0,0,0,1);
Wie bekomme ich das aber nun hin?

mfg
Tobias

Verfasst: 14. Februar 2007 22:49
von -=Freaky=-
ich habe es so gelöst:

Code: Alles auswählen

QDesktopWidget dw;
QMessageBox mb( QMessageBox::Warning, "KBDM",
                  "Could not connect to the Database Server!\n"
		            "This program can't function correctly "
		            "without the server.\n\n" );
mb.move( ( dw.width() - mb.width() ) / 2, ( dw.height() - mb.height() ) / 2 );
mb.exec();
//edit: nachtrag: da QMessageBox von QWidget erbt (über QDialog), kann man ganz normal move() benutzen, muss dazu aber logischer weise eine instanz der klasse erstellen.

mfg,
julian