私はQtが初めてなので、QMainWindow
のサイズを(たとえば)ユーザーのデスクトップの70%に設定する方法があるかどうか疑問に思います。
ストレッチファクターを試しましたが、うまくいきませんでした。 QWidget::setFixedSize
動作しましたが、ピクセル数のみでしたと思います。
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);
QMainWindowコンストラクターのどこかで、これを実行します。
resize(QDesktopWidget().availableGeometry(this).size() * 0.7);
これにより、ウィンドウのサイズが使用可能な画面スペースの70%に変更されます。
QDesktopWidget
でavailableGeometry(QWidget*)
メソッドを使用できます。これにより、このウィジェットが現在表示されている画面のジオメトリが得られます。
例えば:
QRect screenSize = desktop.availableGeometry(this);
this->setFixedSize(QSize(screenSize.width * 0.7f, screenSize.height * 0.7f));
ここで、this
はMainWindowポインターです。これは、複数の画面を使用するときに機能します。