Je suis nouveau sur Qt, je me demande donc s'il existe un moyen de définir la taille d'un QMainWindow
sur (par exemple) 70% du bureau de l'utilisateur.
J'ai essayé le facteur d'étirement mais cela n'a pas fonctionné. QWidget::setFixedSize
a fonctionné mais uniquement avec un nombre de pixels, je pense.
Merci à Amir eas. Le problème est résolu. Voici le code pour cela:
#include <QDesktopWidget>
#include <QMainWindow>
...
QDesktopWidget dw;
MainWindow w;
...
int x=dw.width()*0.7;
int y=dw.height()*0.7;
w.setFixedSize(x,y);
Quelque part dans votre constructeur QMainWindow, procédez comme suit:
resize(QDesktopWidget().availableGeometry(this).size() * 0.7);
Cela redimensionnera la fenêtre à 70% de l'espace d'écran disponible.
Vous pouvez utiliser la méthode availableGeometry(QWidget*)
dans QDesktopWidget
, cela vous donnera la géométrie de l'écran sur lequel se trouve actuellement ce widget.
Par exemple:
QRect screenSize = desktop.availableGeometry(this);
this->setFixedSize(QSize(screenSize.width * 0.7f, screenSize.height * 0.7f));
Où this
est le pointeur MainWindow. Cela fonctionnera lors de l'utilisation de plusieurs écrans.