私はCentralWidgetを一定のサイズにしたいと思っています。 mainWindowを中央のウィジェットに合わせてサイズを変更するには、どうすればよいですか?ここで動作しないコード:Qt:centralwidgetのサイズを変更するとmainWindowのサイズを自動的に変更する方法は?
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();
}
開いているウィンドウは非常に小さくなります。
は、私もそれのサイズを変更します
mainWindow->resize(720, 486);
とcentralwidgetを使用してメインウィンドウのサイズを設定することができます。 mainWindowのツールバーも486ピクセル内にあるので、中央のウィジェットはわずかに押しつぶされます。
mainWindowのサイズを自動的に変更する方法はありますか?
ありがとうございました。 mainWindow-> setFixedSize(hint.width()、hint.height())を追加すると、何らかの理由でウィンドウが開かない – Mat
@Mats 'setCentralWidget'の後に' mainWindow-> setFixedSize(ヒント) 'を設定しましたか? – alexisdm
はい - 1. mainWindow-> setCentralWidget、2. centralWidget-> resize()、3. mainwindow-> setFixedSize(ヒント)、4.mainWindow-> show()。 3.ステップは、ウィンドウが表示されないようにします(ステップ3をコメントアウトすると表示されます) – Mat