Important: Please read the Qt Code of Conduct -

Frame or form "swipe" animation?

  • Hello,

    I am completely new to Qt having just installed Qt Creator on Linux. My employer is having our team evaluate a couple of GUI frameworks such as Qt, GTK+ and HTML5 for re-writing one of our large Embedded Linux applications.

    For each framework we need to create a demo application that "animates" the changing from one "form" or "frame" to another similar to what modern smart phone interfaces do.

    Say I want to create a demo where when a button is pressed the current "frame" or "form" is animated smoothly to the left while a new incoming "frame" or "form" is brought in from the right and also animated.

    I'm looking for where to start, pointers, examples and anything that will help me create this demonstration application to evaluate Qt for our application.

    Thank you very much,

  • Hi,
    "The Animation Framework": and "The State Machine Framework": is one way to start animation with Qt in cpp. You can also do this job with QML, but I'm not familiar with it.

  • Hi,

    I noticed those links are for Qt 4.8. Are the concepts and frameworks still the same enough in Qt 5.2? Also, for new application written in Qt is 5.2 the recommended version or is it considered to new? What is the recommended version of Qt for developing a new applications at this time?

    I noticed it's impossible to find a book that targets Qt 5.

    Thank you,

  • Hi,
    yes the concepts are available in 5.2 version. In fact qml is based on these concepts. Sorry, but I cannot recommend the best approach. It depends on your needs. Cpp widgets use software rendering, while qml use hardware rendering. Of course you can use OpenGL in cpp for hardware rendering, but as I said the recommended way depends on your needs. If you need fluid " Ui controls ",the qml is the way to go. If you need all other OpenGL features, you can implement them in cpp only without carry qml/javascript engine+qtquick dependencies for your app.

Log in to reply