为什么在enterEvent中使用QPainter画图没反应?该如何解决

为什么在enterEvent中使用QPainter画图没反应?
我从QWidget派生出一个类,用来做窗口,然后又从QWidget派生出一个类当做按钮(button)用。
现在我想在鼠标指针移到这个button上的时候可以换一张图片,使用的是pixmap,

那么现在重新实现enterEvent方法,然后在里面实例化了一个QPainter,使用drawPixmap为什么不能再这个button上画上图呢?
而在paintEvent中使用QPainter就能画上。

现在 也只有一种临时的方法,让这个动作在paintEvent中去做,因此在enterEvent中调用了update。

这是为什么啊?

------解决方案--------------------
画图只能在paintEvent里面画。 所以你说的那个临时方法其实是最好的办法。