Qt неправильно отображает окно QML

Я могу изменить размер главного окна. Когда приложение запускается, я сначала вижу главное окно в течение 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.


person user123_456    schedule 01.03.2012    source источник


Ответы (1)


Попробуйте сначала вызвать setResizeMode:

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

Я понятия не имею, почему это работает, но однажды это помогло мне.

Удачи !

person muenalan    schedule 16.04.2012