setwindowopacity setwindowflags setgeometry mousemoveevent functions qt size qmainwindow

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.