Hi wysota. To take this discussion further, I could use your general advice on how to construct this state machine based animated navigation for say 10 to 20 screens. In general, for any given screen (current screen), I would need to have a previous screen and next screen. Navigation from the control button BACK would need to move back to the previous screen. Navigation "forward" would be based on a user selection on a given screen. There is also a home button that would cause immediate display of one of selected group of "home" screens. To this end, I would need to have a left screen available as the navigation destination for the current screen. This leftmost screen could be the previous screen for BACK navigation, or perhaps the HOME screen for the navigation from a HOME button. The rightmost screen to scroll to would be the conditional destination based on the user selection from the current screen. The leftmost and rightmost nomenclature accomplishes my goal of animated scrolling down the hierarchy and back.

So from this perspective, somewhat like your example, I could have a current visible screen, a left screen available for a scroll back, and a right screen as the destination for a user selection from the current screen.

Once the current screen changes, say from current to rightmost, rightmost becomes current, current becomes leftmost, and rightmost is undefined but defined at the time of user selection on the current screen.

Where I am having a disjoint in understanding is how best to arrange this method using the QStateMachine concept and using off screen offsets for the pre-created content.
For example, I do not want to have the various screens (left, current, right) at increasing negative (leftmost) or positive (offsets) to make them appear off screen to facilitate the scrolling process. I am not sure apriori that I could determine which screens should be staged to be either leftmost or rightmost.

In concept, I was pondering the stacked widget concept, where all available screens are available at any given time, and a simple index makes one of them visible hiding all the others. I was wondering is a similar concept could be used to implement my right and left animated scrolling. However, a screen could be either a leftmost or rightmost screen to another screen.

In concept, I was thinking of a left screen placeholder, where a created single instance of a screen could be loaded for a back scroll, the current screen is loaded with current content, and a right placeholder screen, where content could be placed based on user navigation.

Let me know what your thoughts are on implementing this type of solution efficiently, and whether or not the QT State Machine class could be used for such. I need to update the application title based on the currently active screen, and it will contain breadcrumb content based upon screen navigation.

Any given screen in the state machine would need to have a back and forward screen pointer much like a doubly linked list.