Just to make it clearer: >From docs: "You may want to mix QML and C++ for a number of reasons. For example: ... To write your own QML elements (whether for your applications, or for distribution to others)"
iirc, we have two approaches for creating new QML elements: as QML documents and as QObject-based C++ classes: I'm wondering about the criteria to choose the most suitable approach: - With C++ classes you have virtually unlimited functionality but you cannot build upon already existing QML elements (eg. dynamic elements creation) without linking to private headers. - With QML documents you have others QML elements at your disposal but functionality is restrict to what you can do with javascript. Is that right ? TIA, -- Sandro On Mon, Nov 21, 2011 at 10:49 AM, <[email protected]> wrote: > No - classes only exported with Q_AUTOTEST_EXPORT are not meant to be used > this way. They are only exported at all in developer build so that autotests > can use them. Deployed versions of Qt will not have these symbols exported. > > Flickable is not public C++ API, only public QML API. To create a flickable > extended QML component, you should use > Flickable{ > //QML code goes here > } > > -- > Alan Alpert > ________________________________________ > From: [email protected] > [[email protected]] on behalf of ext > Sandro Andrade [[email protected]] > Sent: Monday, November 21, 2011 10:27 PM > To: [email protected] > Cc: [email protected] > Subject: Re: [Development] Extending QML flickable element > > Nice, but even if I build qt with -developer-build is it a correct and > reasonable way to create my flickable extended qml component ? > -- > Sandro > > On Mon, Nov 21, 2011 at 10:04 AM, <[email protected]> wrote: >> class Q_AUTOTEST_EXPORT QDeclarativeFlickable >> >> The Q_AUTOTEST_EXPORT means the symbols are only available when Qt is >> configured as a developer build. >> They are exported for the unit tests to use, but not exported in a normal >> build. >> >>> -----Original Message----- >>> From: [email protected] >>> [mailto:[email protected]] >>> On Behalf Of Sandro Andrade >>> Sent: Monday, November 21, 2011 11:57 >>> To: [email protected] >>> Subject: [Development] Extending QML flickable element >>> >>> Hi there, >>> >>> I'm trying to extend QML flickable element to provide a new QML view. >>> Building occurs fine but the generated library >>> have some missing symbols. Any chance for building and linking against >>> qt private headers outside qt source folders ? >>> >>> TIA, >>> Sandro >>> >>> linux-gate.so.1 => (0xb78a3000) >>> libgraph.so.5 => /usr/lib/libgraph.so.5 (0xb7878000) >>> libgvc.so.6 => /usr/lib/libgvc.so.6 (0xb7802000) >>> libQtDeclarative.so.4 => >>> /usr/local/Trolltech/Qt-4.7.4/lib/libQtDeclarative.so.4 (0xb748c000) >>> libQtScript.so.4 => >>> /usr/local/Trolltech/Qt-4.7.4/lib/libQtScript.so.4 (0xb7206000) >>> libQtSvg.so.4 => /usr/local/Trolltech/Qt-4.7.4/lib/libQtSvg.so.4 >>> (0xb71af000) >>> libQtSql.so.4 => /usr/local/Trolltech/Qt-4.7.4/lib/libQtSql.so.4 >>> (0xb7170000) >>> libQtXmlPatterns.so.4 => >>> /usr/local/Trolltech/Qt-4.7.4/lib/libQtXmlPatterns.so.4 (0xb6d70000) >>> libQtGui.so.4 => /usr/local/Trolltech/Qt-4.7.4/lib/libQtGui.so.4 >>> (0xb62a4000) >>> libQtNetwork.so.4 => >>> /usr/local/Trolltech/Qt-4.7.4/lib/libQtNetwork.so.4 (0xb6167000) >>> libQtCore.so.4 => /usr/local/Trolltech/Qt-4.7.4/lib/libQtCore.so.4 >>> (0xb5ec1000) >>> libpthread.so.0 => /lib/libpthread.so.0 (0xb5ea6000) >>> libstdc++.so.6 => /usr/lib/libstdc++.so.6 (0xb5db7000) >>> libm.so.6 => /lib/libm.so.6 (0xb5d8d000) >>> libgcc_s.so.1 => /usr/lib/libgcc_s.so.1 (0xb5d70000) >>> libc.so.6 => /lib/libc.so.6 (0xb5bf4000) >>> libcdt.so.5 => /usr/lib/libcdt.so.5 (0xb5bed000) >>> libltdl.so.7 => /usr/lib/libltdl.so.7 (0xb5be2000) >>> libdl.so.2 => /lib/libdl.so.2 (0xb5bdd000) >>> libxdot.so.4 => /usr/lib/libxdot.so.4 (0xb5bd9000) >>> libpathplan.so.4 => /usr/lib/libpathplan.so.4 (0xb5bd1000) >>> libexpat.so.1 => /usr/lib/libexpat.so.1 (0xb5ba6000) >>> libz.so.1 => /usr/lib/libz.so.1 (0xb5b8e000) >>> librt.so.1 => /lib/librt.so.1 (0xb5b85000) >>> libgthread-2.0.so.0 => /usr/lib/libgthread-2.0.so.0 (0xb5b7f000) >>> libglib-2.0.so.0 => /usr/lib/libglib-2.0.so.0 (0xb5a87000) >>> libpng14.so.14 => /usr/lib/libpng14.so.14 (0xb5a5b000) >>> libfreetype.so.6 => /usr/lib/libfreetype.so.6 (0xb59bf000) >>> libgobject-2.0.so.0 => /usr/lib/libgobject-2.0.so.0 (0xb5970000) >>> libSM.so.6 => /usr/lib/libSM.so.6 (0xb5969000) >>> libICE.so.6 => /usr/lib/libICE.so.6 (0xb5952000) >>> libXrender.so.1 => /usr/lib/libXrender.so.1 (0xb594a000) >>> libfontconfig.so.1 => /usr/lib/libfontconfig.so.1 (0xb591b000) >>> libXext.so.6 => /usr/lib/libXext.so.6 (0xb5909000) >>> libX11.so.6 => /usr/lib/libX11.so.6 (0xb57d3000) >>> /lib/ld-linux.so.2 (0xb78a4000) >>> libpcre.so.0 => /lib/libpcre.so.0 (0xb5773000) >>> libbz2.so.1.0 => /lib/libbz2.so.1.0 (0xb5762000) >>> libffi.so.5 => /usr/lib/libffi.so.5 (0xb575b000) >>> libuuid.so.1 => /lib/libuuid.so.1 (0xb5755000) >>> libxcb.so.1 => /usr/lib/libxcb.so.1 (0xb5737000) >>> libXau.so.6 => /usr/lib/libXau.so.6 (0xb5734000) >>> libXdmcp.so.6 => /usr/lib/libXdmcp.so.6 (0xb572e000) >>> undefined symbol: >>> _ZN21QDeclarativeFlickable10timerEventEP11QTimerEvent >>> (./libqmlgraphvizplugin.so) >>> undefined symbol: >>> _ZN21QDeclarativeFlickable10sceneEventEP6QEvent >>> (./libqmlgraphvizplugin.so) >>> undefined symbol: >>> _ZN21QDeclarativeFlickable15geometryChangedERK6QRectFS2_ >>> (./libqmlgraphvizplugin.so) >>> undefined symbol: >>> _ZN21QDeclarativeFlickable11setContentXEd (./libqmlgraphvizplugin.so) >>> undefined symbol: >>> _ZN21QDeclarativeFlickable11setContentYEd (./libqmlgraphvizplugin.so) >>> undefined symbol: >>> _ZN21QDeclarativeFlickable16sceneEventFilterEP13QGraphicsItemP6QEvent >>> (./libqmlgraphvizplugin.so) >>> undefined symbol: >>> _ZN21QDeclarativeFlickable15mousePressEventEP24QGraphicsSceneMouseEvent >>> (./libqmlgraphvizplugin.so) >>> undefined symbol: >>> _ZN21QDeclarativeFlickable14mouseMoveEventEP24QGraphicsSceneMouseEvent >>> (./libqmlgraphvizplugin.so) >>> undefined symbol: >>> _ZN21QDeclarativeFlickable17mouseReleaseEventEP24QGraphicsSceneMouseEven >>> t(./libqmlgraphvizplugin.so) >>> undefined symbol: >>> _ZN21QDeclarativeFlickable10wheelEventEP24QGraphicsSceneWheelEvent >>> (./libqmlgraphvizplugin.so) >>> undefined symbol: >>> _ZN21QDeclarativeFlickable6tickedEv (./libqmlgraphvizplugin.so) >>> undefined symbol: >>> _ZNK21QDeclarativeFlickable10minXExtentEv (./libqmlgraphvizplugin.so) >>> undefined symbol: >>> _ZNK21QDeclarativeFlickable10minYExtentEv (./libqmlgraphvizplugin.so) >>> undefined symbol: >>> _ZNK21QDeclarativeFlickable10maxXExtentEv (./libqmlgraphvizplugin.so) >>> undefined symbol: >>> _ZNK21QDeclarativeFlickable10maxYExtentEv (./libqmlgraphvizplugin.so) >>> undefined symbol: >>> _ZN21QDeclarativeFlickable13viewportMovedEv >>> (./libqmlgraphvizplugin.so) >>> undefined symbol: >>> _ZThn8_N21QDeclarativeFlickable16sceneEventFilterEP13QGraphicsItemP6QEve >>> nt (./libqmlgraphvizplugin.so) >>> undefined symbol: >>> _ZThn8_N21QDeclarativeFlickable10sceneEventEP6QEvent >>> (./libqmlgraphvizplugin.so) >>> undefined symbol: >>> _ZThn8_N21QDeclarativeFlickable15mousePressEventEP24QGraphicsSceneMouseE >>> vent (./libqmlgraphvizplugin.so) >>> undefined symbol: >>> _ZThn8_N21QDeclarativeFlickable14mouseMoveEventEP24QGraphicsSceneMouseEv >>> ent (./libqmlgraphvizplugin.so) >>> undefined symbol: >>> _ZThn8_N21QDeclarativeFlickable17mouseReleaseEventEP24QGraphicsSceneMous >>> eEvent (./libqmlgraphvizplugin.so) >>> undefined symbol: >>> _ZThn8_N21QDeclarativeFlickable10wheelEventEP24QGraphicsSceneWheelEvent >>> (./libqmlgraphvizplugin.so) >>> undefined symbol: _ZTI21QDeclarativeFlickable >>> (./libqmlgraphvizplugin.so) >>> undefined symbol: >>> _ZN21QDeclarativeFlickable16staticMetaObjectE >>> (./libqmlgraphvizplugin.so) >>> undefined symbol: >>> _ZN21QDeclarativeFlickableC2EP16QDeclarativeItem >>> (./libqmlgraphvizplugin.so) >>> undefined symbol: >>> _ZN21QDeclarativeFlickable11qt_metacastEPKc >>> (./libqmlgraphvizplugin.so) >>> undefined symbol: _ZN21QDeclarativeFlickableD2Ev >>> (./libqmlgraphvizplugin.so) >>> undefined symbol: >>> _ZN21QDeclarativeFlickable11qt_metacallEN11QMetaObject4CallEiPPv >>> (./libqmlgraphvizplugin.so) >>> >>> -- >>> Sandro >>> _______________________________________________ >>> Development mailing list >>> [email protected] >>> http://lists.qt-project.org/mailman/listinfo/development >> >> >> ________________________________ >> Subject to local law, communications with Accenture and its affiliates >> including telephone calls and emails (including content), may be monitored >> by our systems for the purposes of security and the assessment of internal >> compliance with Accenture policy. >> ______________________________________________________________________________________ >> >> www.accenture.com >> >> > _______________________________________________ > Development mailing list > [email protected] > http://lists.qt-project.org/mailman/listinfo/development > _______________________________________________ Development mailing list [email protected] http://lists.qt-project.org/mailman/listinfo/development
