Skip to content

Conversation

@Ashwolaa
Copy link

@Ashwolaa Ashwolaa commented Oct 24, 2025

Context:
I stumbled across the library trying to find some icons for my application and I very much enjoyed it. It provides tons of icons with a versatility that is fantastic for many Qt applications.
However, I feel like the animations are a bit limited and I thought I could help expanding this a bit.

In this PR:
I propose to implement more animations. The logic is the following.
Everything starts from a BaseAnimation class which contains:

  • the duration, the interval and the autostart.
  • it is then responsible for the update, the timer setup and the start/stop

From here, we build the rest, each animation only needs to fulfill three methods

  • _get_initial_state : where it starts
  • _update_animation_state : what to change
  • _apply_transform: applying the change
    qtawesome-animations-basic

The next step is to combine multiple animations. This is done with the CompositeAnimation class in which you can provide a list of animations. The update is then dealt by the CompositeAnimation instead of the based ones.

qtawesome-animations-combined

This code has been developed with the assistance of Claude 3.5 Sonnet (version 4.5).
I do not know the policy here with respect to this but I prefer to be honest about it.

@dalthviz
Copy link
Member

Hi @Ashwolaa sorry for the late response, thank you for exploring this and disclosing AI usage! Indeed we currently don't have any specific policy around AI so this is kind of tricky 🤔

What do you think about this @ccordoba12 ? Have you (or maybe @CAM-Gerlach ) thought about an AI policy at all for Spyder and related projects?

Regardless of that, and after a brief check of what was done here, I would say that the idea of expanding/improving animations support and the approach with a base animation class sounds good to me 👍 Regarding the scripts with examples, I would suggest to merged them with the existing example.py (which has a section for animations). Also, I'm not sure if the GIF generator script/CLI logic should be kept. Probably that should be at least trimmed down to just generate a GIF from the example.py script

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants