Qt没有正确显示QML窗口

时间:2012-03-01 12:21:46

标签: c++ qt qml qmainwindow

我可以改变主窗口的大小。当应用程序启动时,我首先看到mainwindow 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();的内容时,我可以看到主窗口正在改变大小,但随后它会加载qml,每当我更改qml或qt代码时它总是相同的大小。

1 个答案:

答案 0 :(得分:0)

首先尝试调用setResizeMode:

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

我不清楚为什么会这样,但是我曾经有过这样的伎俩。

祝你好运!