Center and Resize MainWindow: Difference between revisions

From Qt Wiki
Jump to navigation Jump to search
No edit summary
 
No edit summary
Line 1: Line 1:
=Center and Resize the MainWindow on the current screen=
[[Category:HowTo]]<br />[[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):


===Categories:===
<code>void MainWindow::centerAndResize(){<br /> // get the dimension available on this screen<br /> QSize availableSize = qApp-&gt;desktop()<s>&gt;availableGeometry().size();<br /> int width = availableSize.width();<br /> int height = availableSize.height();<br /> qDebug() &lt;&lt; &quot;Available dimensions &quot; &lt;&lt; width &lt;&lt; &quot;x&amp;quot; &lt;&lt; height;<br /> width '''= 0.9; // 90% of the screen size<br /> height'''= 0.9; // 90% of the screen size<br /> qDebug() &lt;&lt; &quot;Computed dimensions &quot; &lt;&lt; width &lt;&lt; &quot;x&amp;quot; &lt;&lt; height;<br /> QSize newSize( width, height );
 
<br /> setGeometry(<br /> QStyle::alignedRect( Qt::LeftToRight,<br /> Qt::AlignCenter,<br /> newSize,<br /> qApp</s>&gt;desktop()-&gt;availableGeometry() )<br /> );
* [[:Category:HowTo|HowTo]]
* [[:Category:snippets|snippets]]

Revision as of 09:37, 24 February 2015


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&quot; << height;
width = 0.9; // 90% of the screen size
height
= 0.9; // 90% of the screen size
qDebug() << "Computed dimensions " << width << "x&quot; << height;
QSize newSize( width, height );
setGeometry(
QStyle::alignedRect( Qt::LeftToRight,
Qt::AlignCenter,
newSize,
qApp
>desktop()->availableGeometry() )
);