QT作为一个全面的桌面应用程序开发包,其自然提供了对图像的动画支持。本篇文章中,就来简单地在PYQt5中使用Animation动画功能。
本篇将会依次完成以下功能:
在GUI界面中显示一个图片(用一个足球做演示);
点击按钮实现足球的直线射门动画;
点击按钮实现足球的曲线射门动画;
一、在图形界面显示图片的两种方法
一般情况下,想要在GUI中显示图片,我们会通过:
– 实例化一个QLable()部件;
– 实例化一个QPixmap()图形类;
– 通过QLabel()部件的setPixmap()方法设置QLabel()部件的图形;
就像如下代码所示:
运行上述代码,我们将会得到如下所示的图形界面:
但是这种方法没有办法实现对图片更多的控制。为了更好地对图形界面中的图片进行控制和管理,我们还需要使用到其他的类,比如QtWidgets中的QGraphicsScene类,QGraphicsScene提供了一个场景,用于对2D图形进行管理。同时,为了展示QGraphicsScene中的内容,我们还需要使用到QtWidgets中的QGraphicsView类来提供一个视图部件。
下面,我们就通过一个简单的例子来了解一下QGraphicsScene类和QGraphicsView类的使用。
首先是完整的代码,如下所示:
在这里面,基础的窗口代码与之前的代码类似,有区别且最核心的为以下几行代码。