Qt未正确显示QML窗口

Qt is not showing QML window properly

本文关键字:QML 窗口 显示 Qt      更新时间:2023-10-16

我可以更改主窗口的大小。当应用程序启动时,我首先看到主窗口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);

因为当我把类似mainwindow.showMaximized();的东西放在main.cpp中时,我可以看到mainwindow正在改变大小,但它加载qml,并且每当我更改qml或qt代码时,它总是相同的大小。

首先尝试调用setResizeMode:

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

我不清楚为什么这样做有效,但我曾经这样做过。

祝你好运!