Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • Users
  • Groups
  • Search
  • Get Qt Extensions
  • Unsolved
Collapse
Brand Logo
  1. Home
  2. Qt Development
  3. QML and Qt Quick
  4. [SOLVED] Qt5, QtQuick 2, HelloWorld application, issue with QQuickView
QtWS25 Last Chance

[SOLVED] Qt5, QtQuick 2, HelloWorld application, issue with QQuickView

Scheduled Pinned Locked Moved QML and Qt Quick
8 Posts 5 Posters 23.9k Views
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • B Offline
    B Offline
    billouparis
    wrote on last edited by
    #1

    Hello,
    I am trying to compile and run a very simple HelloWorld application using Qt5 and QML (QtQuick 2).
    i added the following in the .pro file:
    @QT += quick@

    My main.cpp file looks like:
    @#include <QCoreApplication>
    #include <QtQuick/QQuickView>

    Q_DECL_EXPORT int main(int argc, char *argv[])
    {
    QCoreApplication app(argc, argv, 5);

    QQuickView *  viewer = new QQuickView;
    //viewer.setOrientation(QQuickView::ScreenOrientationAuto);
    viewer->setSource(QUrl("qml/helloWorldQT5/main.qml"));
    viewer->show();
    
    return app.exec&#40;&#41;;
    

    }
    @

    My main.qml file looks like:
    @import QtQuick 2.0

    Rectangle {
    width: 360
    height: 360
    Text {
    text: qsTr("Hello World")
    anchors.centerIn: parent
    }
    MouseArea {
    anchors.fill: parent
    onClicked: {
    Qt.quit();
    }
    }
    }@

    The compilation and link of this source code is alright.
    But there is a runtime error occuring while performing the following:
    @QQuickView * viewer = new QQuickView;@

    if I run it in debug mode, I've got a NULL pointer in the following function inside qguiapplication.cpp:
    @QFont QGuiApplication::font()
    {
    QMutexLocker locker(applicationFontMutex());
    if (!QGuiApplicationPrivate::app_font)
    QGuiApplicationPrivate::app_font =
    new QFont(QGuiApplicationPrivate::platformIntegration()->fontDatabase()->defaultFont());
    return *QGuiApplicationPrivate::app_font;
    }@

    The QGuiApplicationPrivate::platformIntegration() value is apparently NULL.
    Has anyone any hint to help me there?

    I built the qt5 using the following command line:
    @./configure -confirm-license -opensource -no-multimedia -no-phonon -debug -declarative -v8 -opengl -nomake examples -nomake tests -prefix ~/qt5bin -developer-build@

    (there might be an error using both prefix and -developer-build in the same time I think :) )

    1 Reply Last reply
    0
    • B Offline
      B Offline
      billouparis
      wrote on last edited by
      #2

      Also the Application Output looks like this:
      @Debugging starts
      &"warning: GDB: Failed to set controlling terminal: Invalid argument\n"
      .dynamic section for "/lib/libpthread.so.0" is not at the expected address
      difference appears to be caused by prelink, adjusting expectations
      .dynamic section for "/lib/libm.so.6" is not at the expected address
      difference appears to be caused by prelink, adjusting expectations
      .dynamic section for "/usr/lib/libpng12.so.0" is not at the expected address
      difference appears to be caused by prelink, adjusting expectations
      .dynamic section for "/lib/libdl.so.2" is not at the expected address
      difference appears to be caused by prelink, adjusting expectations
      .dynamic section for "/lib/libgthread-2.0.so.0" is not at the expected address
      difference appears to be caused by prelink, adjusting expectations
      .dynamic section for "/lib/librt.so.1" is not at the expected address
      difference appears to be caused by prelink, adjusting expectations
      .dynamic section for "/usr/lib/libXdamage.so.1" is not at the expected address
      difference appears to be caused by prelink, adjusting expectations
      .dynamic section for "/usr/lib/libdrm.so.2" is not at the expected address
      difference appears to be caused by prelink, adjusting expectations
      .dynamic section for "/usr/lib/libXau.so.6" is not at the expected address
      difference appears to be caused by prelink, adjusting expectations
      Qml debugging is enabled. Only use this in a safe environment!
      can't find linker symbol for virtual table for QQuickView' value found QDeclarativeJS::IR::BasicBlock::JUMP(QDeclarativeJS::IR::BasicBlock*)' instead@

      1 Reply Last reply
      0
      • C Offline
        C Offline
        cgmelt
        wrote on last edited by
        #3

        try adding declarative to QT in .pro file i.e:

        @QT += quick declarative@

        1 Reply Last reply
        0
        • B Offline
          B Offline
          billouparis
          wrote on last edited by
          #4

          I added your suggestion, the crash / segmentation fault is still occuring :(

          The stack looks like this when the segmentation fault occurs:
          @0 QGuiApplication::font qguiapplication.cpp 1333 0x6dd26f1
          1 QFont::QFont qfont.cpp 685 0x6e58ec1
          2 QDeclarativeFontValueType::QDeclarativeFontValueType qdeclarativevaluetype.cpp 221 0xa32ce8
          3 QDeclarativeValueTypeFactory::valueType qdeclarativevaluetype.cpp 159 0xa312f6
          4 QDeclarativeValueTypeFactory::QDeclarativeValueTypeFactory qdeclarativevaluetype.cpp 84 0xa30e22
          5 QDeclarativeEnginePrivate::QDeclarativeEnginePrivate qdeclarativeengine.cpp 347 0x9a49f0
          6 QDeclarativeEngine::QDeclarativeEngine qdeclarativeengine.cpp 504 0x9a56ff
          7 QQuickViewPrivate::QQuickViewPrivate qquickview.cpp 70 0x383875
          8 QQuickView::QQuickView qquickview.cpp 159 0x383d48
          9 main main.cpp 8 0x8048a3e
          @

          1 Reply Last reply
          0
          • B Offline
            B Offline
            billouparis
            wrote on last edited by
            #5

            It is now working with a simple declaration change:
            QCoreApplication -> QGuiApplication
            ah!

            @
            #include <QtQuick/QQuickView>
            #include <QGuiApplication>

            Q_DECL_EXPORT int main(int argc, char *argv[])
            {

            QGuiApplication app(argc, argv, 5);
            
            QQuickView viewer;
            //viewer.setOrientation(QQuickView::ScreenOrientationAuto);
            viewer.setSource(QUrl("qml/helloWorldQT5/main.qml"));
            viewer.show();
            
            return app.exec();
            

            }
            @

            1 Reply Last reply
            0
            • A Offline
              A Offline
              andreagrandi
              wrote on last edited by
              #6

              It worked for me too.

              My problem was also the fact that I had to create a .pro manually because using the one generated by QtCreator was not working (I got this error: qmlapplicationviewer/qmlapplicationviewer.cpp:15:30: fatal error: QtGui/QApplication: No such file or directory)

              so I just used:

              @SOURCES +=
              main.cpp

              OTHER_FILES +=
              qml/Test/main.qml

              QT += quick

              install_it.path = $${M_BUILDDIR}

              for(FILE, OTHER_FILES){
              install_it.files += $${FILE}
              }

              INSTALLS += install_it@

              1 Reply Last reply
              0
              • M Offline
                M Offline
                moravas
                wrote on last edited by
                #7

                Hi,

                I am tried to build a very simple QtQuick 2.0 project with Qt 5.0.0 and Qt Creator 2.6.1. I made a new project, selected the "Qt Quick 2 Application (Built-in Elements)", set the name and press "next -> next ... etc".

                If I run the application, I get a simple window with white background and the "Hello World" text.

                If I open the main.qml file, I found in the editor the following message in a label:
                "Unsupported QtQuick version(0:0)
                Go to error"

                I click on the "Go to error", I see the following line in the text editor:
                @
                import QtQuick 2.0
                @

                It is a first line in main.qml file.

                Can somebody help me to can use the QTQuick 2.0 too?

                Regards,
                Norbert

                1 Reply Last reply
                0
                • W Offline
                  W Offline
                  wild34
                  wrote on last edited by
                  #8

                  Current version of a built-in designer in QtCreator doesn`t support QtQuick 2.
                  You need to use Text Editor for your main.qml and to study writting UI in QMLanguage.

                  1 Reply Last reply
                  0

                  • Login

                  • Login or register to search.
                  • First post
                    Last post
                  0
                  • Categories
                  • Recent
                  • Tags
                  • Popular
                  • Users
                  • Groups
                  • Search
                  • Get Qt Extensions
                  • Unsolved