Center and Resize MainWindow

From Qt Wiki
Revision as of 09:58, 25 February 2015 by Maintenance script (talk | contribs)
Jump to navigation Jump to search


Center and Resize the MainWindow on the current screen

The following method computes the final size of the window setting it so it covers the 90% of the whole screen available space, and then centers it (left-to-right flow):

void MainWindow::centerAndResize(){

// get the dimension available on this screen
QSize availableSize = qApp->desktop()->availableGeometry().size();
int width = availableSize.width();
int height = availableSize.height();
qDebug() << "Available dimensions " << width << "x" << height;
width = 0.9; // 90% of the screen size
height= 0.9; // 90% of the screen size
qDebug() << "Computed dimensions " << width << "x" << height;
QSize newSize( width, height );
setGeometry(
QStyle::alignedRect( Qt::LeftToRight,
Qt::AlignCenter,
newSize,
qApp->desktop()->availableGeometry() )
);