Qml in qt widgets

  • Hello guys,
    im trying to display qml object on std qt widget.
    I found some tips on the net but still app doesn't work.

    @///< ---- my code
    this->vbox_main=new QVBoxLayout();

    //layout generation
    this->viewQML = new QQuickView();
    this->containerQML = QWidget::createWindowContainer(this->viewQML, this);
    this->label_status=new QLabel(this);

    ///< ---- the end of my code

    Does anybody know what im doing wrong ?
    Best regards

    [edit: Added missing coding tags @ SGaist]

  • Lifetime Qt Champion


    Invalid qml file path ?

  • No, because when it was wrong Qt Creator said me that in output...

  • Qt Champions 2017

    I just created new QtUI application project and did the following. It works perfectly.

    What is 'this' object in your case ? It is QMainWIndow or QWidget ?

    @QWidget *wid = new QWidget;
    QPushButton *butt = new QPushButton("pthinks.com");
    QVBoxLayout *lyt = new QVBoxLayout(wid);
    QQuickView *view = new QQuickView();
    QWidget *container = QWidget::createWindowContainer(view, this);
    container->setMinimumSize(200, 200);
    container->setMaximumSize(200, 200);

  • QDialog

  • Qt Champions 2017

    I have replaced QWidget *wid = new QWidget;
    QDialog *wid = new QDialog;

    in above code snippet. It works perfectly. When you launch your program, what is shown ? Is the dialog shown ? Only QML Window is missing ?

  • The content of qml is not displayed.
    It's look like the place for it is prepared.

    //code of qml file

    import QtQuick 2.1
    import QtQuick.Controls 1.0
    import QtQuick.Window 2.0

    Rectangle {
    id: recMain
    height : 100
    width : 100

    AnimatedImage {
        id                       : buttonImage
        source                   : "gfx/loading.png"
        anchors.horizontalCenter : recMain.horizontalCenter
        anchors.verticalCenter   : recMain.verticalCenter
        NumberAnimation on rotation {
            from     : 0; to : 360; running : buttonImage.visible = true; loops : Animation.Infinite;
            duration : 1000;


    //the end of code of qml file

    I put the button to se if maybe only png file is not loaded.

  • Moderators


    See if you get any errors using "errors":http://qt-project.org/doc/qt-5/qquickview.html#errors function.

  • Qt Champions 2017

    It must be issue with QML file only. Either it is path issue with QML file itself or image file issue. Hope you are able to run the QML file directly. You can try adding QMLFile and ImageFile in Resource file and refer it. It may solve your issue.

  • Ok, I will check it, but later becuase Im on my job now :P

    Thanks all for help. Will write when I check all possibilities

  • Hi,
    I already know where was the problem.
    I didn't set size of container and thus of that there was no place to display qml object.

    Strange, because it's hard to set ( probably for me :) ) right size policy between qml object and container widget.

    If someone have some good examples where qml objects are combined with Qt widgets I will be thankful.

Log in to reply

Looks like your connection to Qt Forum was lost, please wait while we try to reconnect.