Me gustaría tener un tamaño de mi CentralWidget. ¿Qué debo hacer para cambiar el tamaño de mi mainWindow a lo largo de su widget central? aquí el código que no funciona:Qt: ¿cómo hacer que mainWindow cambie automáticamente el tamaño cuando se cambie el tamaño del widget central?
int main (int argc, char **argv) {
QApplication app(argc, argv);
QGLFormat glFormat;
glFormat.setVersion(4,2);
glFormat.setProfile(QGLFormat::CompatibilityProfile);
QGLWidget* render_qglwidget = new MyWidget(glFormat);
QGLContext* glContext = (QGLContext *) render_qglwidget->context();
glContext->makeCurrent();
QMainWindow* mainWindow = new MyMainWindow();
render_qglwidget->resize(720, 486);
mainWindow->setSizePolicy(QSizePolicy(QSizePolicy::Expanding,QSizePolicy::Expanding));
mainWindow->setCentralWidget(render_qglwidget);
render_qglwidget->resize(720, 486);
mainWindow->show();
return app.exec();
}
la ventana que se abre será muy pequeña.
i puede establecer el tamaño de la MainWindow usando
mainWindow->resize(720, 486);
y la centralwidget también cambiará su tamaño. pero el widget central quedará ligeramente aplastado porque la barra de herramientas de la ventana principal también se encuentra dentro de esos 486 píxeles.
¿Cómo dejar que mainWindow cambie el tamaño automáticamente?
gracias. si agrego mainWindow-> setFixedSize (hint.width(), hint.height()); por alguna razón, la ventana nunca se abre – Mat
@Mat ¿Ha llamado a set 'mainWindow-> setFixedSize (hint)' después de 'setCentralWidget'? – alexisdm
yes - 1. mainWindow-> setCentralWidget, 2. centralWidget-> resize(), 3. mainwindow-> setFixedSize (sugerencia), 4.mainWindow-> show(). el 3. paso hace que la ventana no aparezca (aparece si comento el paso 3) – Mat