Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • Users
  • Groups
  • Search
  • Get Qt Extensions
  • Unsolved
Collapse
Brand Logo
  1. Home
  2. Qt Development
  3. General and Desktop
  4. Repainting QWidget with QProperAnimation
Forum Updated to NodeBB v4.3 + New Features

Repainting QWidget with QProperAnimation

Scheduled Pinned Locked Moved Solved General and Desktop
16 Posts 3 Posters 3.7k Views 1 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • M Offline
    M Offline
    MadScientist92
    wrote on last edited by
    #7

    I've updated previous comment. It paints only one animation anyway

    mrjjM 1 Reply Last reply
    0
    • M MadScientist92

      I've updated previous comment. It paints only one animation anyway

      mrjjM Offline
      mrjjM Offline
      mrjj
      Lifetime Qt Champion
      wrote on last edited by
      #8

      @MadScientist92

      Ok, im not sure what could be wrong.

      Is it possible to upload project somewhere and post link here?
      I want to run it.
      Something is going on, i dont see.
      Its clear the loop with 100 kills the event loop ( u need other design)
      but both animations should run when there is only 1.

      M 1 Reply Last reply
      0
      • M Offline
        M Offline
        MadScientist92
        wrote on last edited by
        #9

        https://github.com/ArtHerasymov/projectX/tree/master/src/eq2

        1 Reply Last reply
        0
        • mrjjM mrjj

          @MadScientist92

          Ok, im not sure what could be wrong.

          Is it possible to upload project somewhere and post link here?
          I want to run it.
          Something is going on, i dont see.
          Its clear the loop with 100 kills the event loop ( u need other design)
          but both animations should run when there is only 1.

          M Offline
          M Offline
          MadScientist92
          wrote on last edited by MadScientist92
          #10

          @mrjj What's interesting, is that even if I try just to call this setChunk() method manually for two times in a row, without any loop, it still would paint only one animation.

          mrjjM 1 Reply Last reply
          0
          • M MadScientist92

            @mrjj What's interesting, is that even if I try just to call this setChunk() method manually for two times in a row, without any loop, it still would paint only one animation.

            mrjjM Offline
            mrjjM Offline
            mrjj
            Lifetime Qt Champion
            wrote on last edited by
            #11

            @MadScientist92

            ok. sounds. odd. i dont have time before tonight to see if i get same result :)

            1 Reply Last reply
            0
            • M Offline
              M Offline
              MadScientist92
              wrote on last edited by MadScientist92
              #12

              Solved it by creating QTimer) Thanks for your help!

              mrjjM 1 Reply Last reply
              1
              • M MadScientist92

                Solved it by creating QTimer) Thanks for your help!

                mrjjM Offline
                mrjjM Offline
                mrjj
                Lifetime Qt Champion
                wrote on last edited by
                #13

                @MadScientist92
                Ok i was actually thinking about suggesting that to avoid the loop.

                Does it then run in parallel as you want?

                1 Reply Last reply
                0
                • M Offline
                  M Offline
                  MadScientist92
                  wrote on last edited by
                  #14

                  Yes, it is now painting all the animations I want sequentially . Have to play around with the timing though, but that is still a huge step forward after a week of stupor)

                  J.HilkJ 1 Reply Last reply
                  0
                  • M MadScientist92

                    Yes, it is now painting all the animations I want sequentially . Have to play around with the timing though, but that is still a huge step forward after a week of stupor)

                    J.HilkJ Offline
                    J.HilkJ Offline
                    J.Hilk
                    Moderators
                    wrote on last edited by
                    #15

                    @MadScientist92
                    Hi, from what I read sofar in this thread, I asume you want to draw a couple lines. In that way that only 1 line is drawn at a time? E.g: line 1 is drawn -> start drawing line2

                    I would suggest the following:

                    Move all your animations into a list:

                    QList<QPropertyAnimation*> animationList;
                    
                    animationList.append(animation1);
                    animationList.append(animation2);
                    ...
                    animationList.append(animationLast);
                    

                    That make the following loop:

                    for(int i = 0; i < animationList.size()-1; i++){
                         connect(animationList[i], &QPropertyAnimation::finished, animationList[i+1], [=]{animationList[i+1]->start();});
                    }
                    

                    This will automatically start the next animation, once the previousone is finsihed. No need for extra QTimer management,

                    If you want instead to draw multiple lines simultaneously, I would suggest looking into QParallelAnimationGroup


                    Be aware of the Qt Code of Conduct, when posting : https://forum.qt.io/topic/113070/qt-code-of-conduct


                    Q: What's that?
                    A: It's blue light.
                    Q: What does it do?
                    A: It turns blue.

                    1 Reply Last reply
                    1
                    • M Offline
                      M Offline
                      MadScientist92
                      wrote on last edited by
                      #16

                      I was attempting to draw equalizer for sound. Therefore, I needed to paint multiple 'states' of it. The problem was that only the last 'state' was drawn, and I wasn't getting a sequence of different animations.

                      1 Reply Last reply
                      0

                      • Login

                      • Login or register to search.
                      • First post
                        Last post
                      0
                      • Categories
                      • Recent
                      • Tags
                      • Popular
                      • Users
                      • Groups
                      • Search
                      • Get Qt Extensions
                      • Unsolved