0

メインウィンドウのサイズを変更できます。アプリケーションが起動すると、最初にメインウィンドウが 2 秒間表示され、内部に QML ファイルが読み込まれます。問題は、QML ファイルのサイズを変更しようとするたびに、常に同じサイズになることです。私はすべてを試しました。自分のニーズに最適なサイズを確認できるように、サイズを変更できるようにしたいと考えています。

問題はコードのこの部分にあると思いますが、私が言ったように、それを処理する方法がわかりません。

これが私のコードです:

QDeclarativeView *view= new QDeclarativeView;
    ui->setupUi(this);
    setCentralWidget(view);

    QDeclarativeContext *ctxt = view->rootContext();
    ctxt->setContextProperty("funkcije",this);
    ctxt->setContextProperty("myModel", QVariant::fromValue(MainWindow::dataList));


     view->setSource(QUrl("qrc:/gui.qml"));
     view->setResizeMode(QDeclarativeView::SizeRootObjectToView);

main.cpp を入れるとmainwindow.showMaximized();、mainwindow のサイズが変更されていることがわかりますが、qml が読み込まれ、qml または qt コードを変更するたびに常に同じサイズになります。

4

1 に答える 1

0

最初に setResizeMode を呼び出してみてください:

 view->setResizeMode(QDeclarativeView::SizeRootObjectToView);
 view->setSource(QUrl("qrc:/gui.qml"));

なぜこれが機能するのか明確な理由はわかりませんが、それは私からのトリックでした。

幸運を !

于 2012-04-16T13:55:23.833 に答える