Ein kleines Snippet, dass zeigt wie man ein Fenster, welches mit Qt erzeugt, wurde auf dem Bildschirm zentriert. Es funktioniert allerdings auf mehreren Monitoren nicht mehr korrekt, ich bin nach wie vor auf der Suche nach einer Lösung.

void centerWindow( QWidget *window )
{
    // Check pointer.
    if ( !window )
    {
        return;
    }

    // Check if widget is a window.
    if ( !window->isWindow() )
    {
        return;
    }

    // Use desktop size and window size to calculate new window position.
    QDesktopWidget *desktop = QApplication::desktop();
    int x = ( desktop->width() - window->width() ) / 2;
    int y = ( desktop->height() - window->height() ) / 2;

    window->move( x, y );
}
Advertisements