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:
[[Category:HowTo]]<br />[[Category:snippets]]
[[Category:HowTo]]
[[Category:snippets]]


= Center and Resize the MainWindow on the current screen =
= Center and Resize the MainWindow on the current screen =
Line 5: Line 6:
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(){<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 );
<code>void MainWindow::centerAndResize(){
<br /> setGeometry(<br /> QStyle::alignedRect( Qt::LeftToRight,<br /> Qt::AlignCenter,<br /> newSize,<br /> qApp</s>&gt;desktop()-&gt;availableGeometry() )<br /> );
// 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() )
);

Revision as of 09:58, 25 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" << 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() )
);