Center and Resize MainWindow: Difference between revisions

From Qt Wiki
Jump to navigation Jump to search
(Add "cleanup" tag)
(Cleanup)
Line 1: Line 1:
{{Cleanup | reason=Auto-imported from ExpressionEngine.}}
{{LangSwitch}}
 
[[Category:HowTo]]
[[Category:HowTo]]
[[Category:snippets]]
[[Category:snippets]]
= 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):
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):


<code>void MainWindow::centerAndResize(){
<code>
// get the dimension available on this screen
void MainWindow::centerAndResize() {
QSize availableSize = qApp->desktop()->availableGeometry().size();
    // get the dimension available on this screen
int width = availableSize.width();
    QSize availableSize = qApp->desktop()->availableGeometry().size();
int height = availableSize.height();
    int width = availableSize.width();
qDebug() << "Available dimensions " << width << "x" << height;
    int height = availableSize.height();
width '''= 0.9; // 90% of the screen size
    qDebug() << "Available dimensions " << width << "x" << height;
height'''= 0.9; // 90% of the screen size
    width = 0.9; // 90% of the screen size
qDebug() << "Computed dimensions " << width << "x" << height;
    height = 0.9; // 90% of the screen size
QSize newSize( width, height );
    qDebug() << "Computed dimensions " << width << "x" << height;
    QSize newSize( width, height );


setGeometry(
    setGeometry(
QStyle::alignedRect( Qt::LeftToRight,
        QStyle::alignedRect(  
Qt::AlignCenter,
            Qt::LeftToRight,
newSize,
            Qt::AlignCenter,
qApp->desktop()->availableGeometry() )
            newSize,
);
            qApp->desktop()->availableGeometry()
        )
    );
}
</code>

Revision as of 12:18, 28 June 2015

En Ar Bg De El Es Fa Fi Fr Hi Hu It Ja Kn Ko Ms Nl Pl Pt Ru Sq Th Tr Uk Zh

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()
        )
    );
}