我是Qt的新手,所以我想知道是否有办法将QMainWindow
的大小设置为(例如)70%的用户桌面。
我尝试了伸展因子但它不起作用。我认为QWidget::setFixedSize
有效但只有像素数。
答案 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指针。
这在使用多个屏幕时将起作用。