[Interest] QtQuick Controls2 : Does StackView garbage collect popped items ?

jack ma assangema at gmail.com
Sat Feb 24 10:15:13 CET 2018


 It seems that StackView instantiate QML components when push and destroy
it when pop, so we cann't get information from previous page.
what we should use is StackLayout ?

2018-02-24 11:06 GMT+08:00 Jason H <jhihn at gmx.com>:

> I would certainly hope so as I've written apps to dynamically manage the
> stackview and any user using the app for a few iterations would likely run
> out of memory.
>
> Note that memory mangement in QML is voodoo, and as a result, the actual
> destruction is not deterministic. If you need to access popped items, then
> StackView is not for you
>
> What I did to accomplish a wizard was very simply to create an item
> containing my various screens, with a single button bar at the bottom, then
> make
> property var pages: [page1, page2, page3]
> property currentPageIndex
>
> function setCurrentPageIndex(page) {
> prevButton.visible = page > 0
> nextButton.visible = page > pages.length-1
> for (i=0;i<pages.length; i++)
>    pages[i].visible = page ==i
>
> onCurrentPageIndexChanged: setCurrentPageIndex(currentPageIndex)
>
> then on your nextButton:
> currentPageIndex++;
>
> prevButton:
> currentPageIndex--;
>
>
>
> *Sent:* Friday, February 23, 2018 at 4:58 PM
> *From:* "Fabrice Salvaire" <fabrice.salvaire at orange.fr>
> *To:* interest at qt-project.org
> *Subject:* [Interest] QtQuick Controls2 : Does StackView garbage collect
> popped items ?
>
> Dear all,
>
> I am experimenting a way to implement a wizard interface featuring a next
> and previous page navigation using QtQuick Controls 2.
>
> I tried to achieve this using StackView but I receive the error
> "TypeError: Type error' when I try to access popped items later, for
> example using console.info(popped_item_array)
>
> It looks like a kind of garbage collection of the Qt object returned by
> push and pop.  But I could not figure out any explanation of this behaviour
> on the Qt doc https://doc-snapshots.qt.io/qt5-5.11/qml-qtquick-
> controls2-stackview.html
> <https://doc-snapshots.qt.io/qt5-5.11/qml-qtquick-controls2-stackview.html#unwinding-items-via-pop>
> However the older implementation had a destroyOnPop feature cf.
> http://doc.qt.io/qt-5/qml-qtquick-controls-stackview.html
>
> Cheers,
>
> Fabrice
>
>
> _______________________________________________ Interest mailing list
> Interest at qt-project.org http://lists.qt-project.org/
> mailman/listinfo/interest
>
> _______________________________________________
> Interest mailing list
> Interest at qt-project.org
> http://lists.qt-project.org/mailman/listinfo/interest
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.qt-project.org/pipermail/interest/attachments/20180224/cef3d6eb/attachment.html>


More information about the Interest mailing list