Qt:设置QMainWindow的大小

时间:2013-04-29 13:47:43

标签: qt size qmainwindow

我是Qt的新手,所以我想知道是否有办法将QMainWindow的大小设置为(例如)70%的用户桌面。
我尝试了伸展因子但它不起作用。我认为QWidget::setFixedSize有效但只有像素数。

3 个答案:

答案 0 :(得分:37)

在QMainWindow构造函数的某处,执行以下操作:

resize(QDesktopWidget().availableGeometry(this).size() * 0.7);

这会将窗口大小调整为可用屏幕空间的70%。

答案 1 :(得分:27)

感谢Amir eas。问题已经解决了。这是代码:

#include <QDesktopWidget>
#include <QMainWindow>
...
QDesktopWidget dw;
MainWindow w;
...
int x=dw.width()*0.7;
int y=dw.height()*0.7;
w.setFixedSize(x,y);

答案 2 :(得分:4)

您可以使用availableGeometry(QWidget*)中的QDesktopWidget方法,这将为您提供此小部件当前所在屏幕的几何图形。
例如:

QRect screenSize = desktop.availableGeometry(this);
this->setFixedSize(QSize(screenSize.width * 0.7f, screenSize.height * 0.7f));

其中this是MainWindow指针。 这在使用多个屏幕时将起作用。