setwindowflags - Qt: Establecer tamaño de QMainWindow
qwidget functions (3)
Soy nuevo en Qt, por lo que me pregunto si hay una manera de configurar el tamaño de una QMainWindow
en la QMainWindow
(por ejemplo) al 70% del escritorio del usuario.
Probé el factor de estiramiento pero no funcionó. QWidget::setFixedSize
funcionó pero solo con un número de píxeles, creo.
En algún lugar de su constructor QMainWindow, haga esto:
resize(QDesktopWidget().availableGeometry(this).size() * 0.7);
Esto cambiará el tamaño de la ventana al 70% del espacio de pantalla disponible.
Gracias a Amir Eas. El problema esta resuelto. Aquí está el código para ello:
#include <QDesktopWidget>
#include <QMainWindow>
...
QDesktopWidget dw;
MainWindow w;
...
int x=dw.width()*0.7;
int y=dw.height()*0.7;
w.setFixedSize(x,y);
Puede usar el método de QDesktopWidget
availableGeometry(QWidget*)
en QDesktopWidget
, esto le dará la geometría de la pantalla en la que se encuentra actualmente este widget.
Por ejemplo:
QRect screenSize = desktop.availableGeometry(this);
this->setFixedSize(QSize(screenSize.width * 0.7f, screenSize.height * 0.7f));
Donde this
es el puntero de MainWindow. Esto funcionará cuando se utilizan varias pantallas.