Seite 1 von 1

MainWindow in der Mittes des Bildschirms

Verfasst: 4. Februar 2007 13:01
von M@g!ndo$ch
Hi,

wie kann ich erreichen, dass mein MainWindow in der Mitte des Bildschirms angezeigt wird? Hab im Designer keine entsprechende Property entdeckt. Auch die Doku hat mich nicht weitergebracht....

Das hier ist das einzigste was ich zu dem Thema gefunden hab;
http://doc.trolltech.com/4.2/qwidget.html#pos-prop
Hätte aber eigentlich erwartet, dass ich die Zentrale Position mit nem' WindowFlag im Konstruktor übergebe, aber dem ist ja anscheined nicht so :-(

Verfasst: 4. Februar 2007 13:37
von Christian81
Dann nimm einfach QDesktopwidget und positioniere danach dein Fenster.

Verfasst: 4. Februar 2007 13:45
von BartSimpson
Siehe hier

Verfasst: 4. Februar 2007 21:44
von ChMaster
oder diese variante :)

Code: Alles auswählen

QDesktopWidget *desktop = qApp->desktop();
const QRect rect = desktop->availableGeometry( desktop->primaryScreen() );
int left = ( rect.width() - width() ) / 2;
int top = ( rect.height() - height() ) / 2;
setGeometry( left, top, width(), height() );
diesen quellcode - abschnitt einfach in deinen konstruktor des jeweiligen
widgets und schon geht die luzi ab. :P

Verfasst: 5. Februar 2007 22:43
von M@g!ndo$ch
Thx,

scheint so zu funktionieren!

Hab wegen Christians Antwort folgendes probiert:

Code: Alles auswählen

//get centre point of the screen
QDesktopWidget *desktopWidget = new QDesktopWidget();
QRect screenGeometry = desktopWidget->screenGeometry(this);
QPoint centerPointOfScreen = screenGeometry.center();
//move centre point of MainWindow onto centre point of screen
QRect windowGeometry = this->geometry();
windowGeometry.moveCenter(centerPointOfScreen);
QPoint centerPointOfWindow = windowGeometry.center();
Hat aber leider nicht funktionert.