Qt World Summit: Register Today!

Qt 5 and qtdesktopcomponents

  • Please give me some info about this project.
    I have qt 5.0 release.
    I download, build and install qtdesktopcomponents.
    How i may use this components?
    I try create tools/qmlwidget but he don't have qwindowwidget.h i found this file in repo history and compile with him. Now when i try start application with some example qml as Gallery.qml i see error "Network error".

    If i try use qtdesktopcomponents with

    @QApplication app(argc, argv);
    QtQuick2ApplicationViewer viewer;
    viewer.setMainQmlFile(QStringLiteral("Gallery.qml")); viewer.showExpanded();
    return app.exec();@

    I see this log:

    QMetaObject::indexOfSignal: signal enabledChanged() from QtMenuBase redefined in QtMenuItem
    QQuickView only supports loading of root objects that derive from QQuickItem.
    If your example is using QML 2, (such as qmlscene) and the .qml file you
    loaded has 'import QtQuick 1.0' or 'import Qt 4.7', this error will occur.
    To load files with 'import QtQuick 1.0' or 'import Qt 4.7', use the
    QQuickView class in the qtquick1 module.
    Remove me: fixing toplevel window flags
    Unable to find a renderable master window QQuickView(0x28fd50) when trying to render QQuickView(0x28fd50) ( QRect(4,23 104x0) ).

  • I have the same problem ("QQuickView only supports loading of root objects that derive from QQuickItem. ") with .qml's that contain the new ApplicationWindow (introduced in QtDesktop 1.0) as a root item.

    I am contacting the maintainer right now, so lets see...

  • Moderators

    -I think desktop components are not yet ported to QML2.- I stand corrected, thank you Jens :)

  • They are working fine with QtQuick 2.0. But you cannot use a Window or an ApplicationWindow in a QtQuickView so if you want to use Gallery.qml, you have to change the root item to be a Rectangle first.

    The reason for the error message is that Window is not a QQuickItem itself. The QQuickView is a window that is owned by C++ and cannot be controlled by QML. You can alternatively use a QQmlEngine and pass it Gallery.qml to avoid this conflict. This is what qmlscene does when the root item is a Window.

Log in to reply