I do not use any stylesheets, everything is being painted. In order to have animation, I need to use either QGraphicsItem or QGraphicsProxyWidget for my button. I choose proxy widget so that connect() function can be called to do blinking effect when its timer expires.

I will try out putting all buttons in one view and hopefully the performance will be as good as you said

Thanks again!