python+ffpyplayer制作的视频播放程序第七篇

插个题外话,因为这个代码写了有段时间了,加上年龄大了记忆不好,我也没有系统的学习python,纯依靠自己的一些经验来边写边调试,有些知识点有的也忘记了,通过写这个博客,我边写边学习,有时候会扩展了插入一些知识点,请大家理解。接下来分享自定义的QLabel控件,它作为播放器的图片展示窗口。继承自qfluentwidgets的 BodyLabel组件。 其中有些代码我注释掉了,也是在编写过程中逐渐优化的结果。思路:

1、创建一个信号槽函数:setImage(self, image: QImage),此处我在函数前面加了一个类似Java注解,是Python3.0之后加入新特性Decorators,大家可以搜一下原理和使用方式,我这里使用它没什么意义。我只是标注一下函数为信号槽函数,方便我记忆。

2、既然有信号槽函数,肯定有一个信号来触发这个函数的执行,并传递进来信号数据,以便函数进行操作。这个函数是接收信号传来的QImage数据,用于在QLabel中显示。

3、先介绍一下QPixmap类,它用于绘图设备的图像显示,它可以作为一个QPainterDevice对象,也可以加载到一个控件中,通常是标签或者按钮,用于在标签或按钮上显示图像。他可以读取的图像文件类型有BMP,GIF,JPG等。代码中将使用它将QImage对象转换为QPixmap对象,

然后使用resize_image方法设置图片的缩放,并返回一个调整后的QPixmap对象,并设置到QLabel中。

# 使用scaled方法把 QPixmap的分辨率设置为QLabel的大小
# KeepAspectRatio 可以保留宽高比
 '''
    Qt::KeepAspectRatio是一个枚举值,用于指定图像的缩放行为。
    设置Qt::KeepAspectRatio属性后,图像将按比例缩放以适应目标矩形,并保持其长宽比。如果目标矩形的宽高比与图像的宽高比不一致,则图像的一部分会被剪裁掉。
    Qt::SmoothTransformation是一个标志,用于指定图像的平滑变换行为。当进行图像缩放或旋转等变换时,
    设置Qt::SmoothTransforma
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

wzffzw

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值