MainWindow in der Mittes des Bildschirms

Alles rund um die Programmierung mit Qt
Antworten
M@g!ndo$ch
Beiträge: 70
Registriert: 7. Januar 2007 14:56

MainWindow in der Mittes des Bildschirms

Beitrag 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 :-(
Christian81
Beiträge: 7319
Registriert: 26. August 2004 14:11
Wohnort: Bremen
Kontaktdaten:

Beitrag von Christian81 »

Dann nimm einfach QDesktopwidget und positioniere danach dein Fenster.
MfG Christian

'Funktioniert nicht' ist keine Fehlerbeschreibung
BartSimpson
Beiträge: 1379
Registriert: 6. November 2004 12:03
Kontaktdaten:

Beitrag von BartSimpson »

Siehe hier
ChMaster
Beiträge: 252
Registriert: 23. Februar 2005 14:44
Wohnort: RP -> Alzey
Kontaktdaten:

Beitrag 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
ChMaster
------------ Projekte------------
DBoxFE
DMS
First4 (Plugin-Develper)
M@g!ndo$ch
Beiträge: 70
Registriert: 7. Januar 2007 14:56

Beitrag 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.
Antworten