Qt wiki will be updated on October 12th 2023 starting at 11:30 AM (EEST) and the maintenance will last around 2-3 hours. During the maintenance the site will be unavailable.
Center and Resize MainWindow: Difference between revisions
Jump to navigation
Jump to search
No edit summary |
m (Added missing multiply (*) in dimensions calculus) |
||
(2 intermediate revisions by 2 users not shown) | |||
Line 1: | Line 1: | ||
{{LangSwitch}} | |||
[[Category:HowTo]] | [[Category:HowTo]] | ||
[[Category:snippets]] | [[Category:snippets]] | ||
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> | ||
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() | |||
) | |||
); | |||
} | |||
</code> |
Latest revision as of 07:28, 5 February 2018
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()
)
);
}