$ 0 0 IMO, using States [qt-project.org] and Transitions [qt-project.org] would be a good way to implement the above.