【基于QMediaPlayer的简易视频播放器】— 1、创建基本布局

1 篇文章 0 订阅

前言

做毕设的时候,在MFC界面中播放视频采用的是OpenCV中的VideoCapture类,通过DrawToHDC方法刷新控件来实现。这种方法有两个问题,一是效率低下,播放高清视频时卡顿严重;二是一个非常致命的缺陷——无法播放声音。
转战Qt之后,尝试了一下QMediaPlayer, 感觉效果相当不错,顺手做了一个简单的视频播放器,作为项目的第一个基础。
QMediaPlayer这个类对底层的播放框架进行了封装,在Windows上是基于DirectShow。通过安装K-Lite Codec Pack之类的解码器,就可以扩展支持绝大部分常见的视频格式。

项目的进行过程:
- 1、创建基本布局
- 2、QMediaPlayer的基本使用
- 3、结合QSlider实现播放进度控制
- 4、重载QSlider鼠标响应事件,实现单击跳转至任意位置


1、创建基本布局

这个播放器只是为了项目里面预览视频用的,因此UI设计不太走心。首先创建一个简单的布局,以便在界面大小改变时,控件能够自适应调整。创建布局主要参考了 [ emouse 思·睿 的博文 ]

首先双击.ui文件,打开Qt Designer,拖几个需要的控件,包括一个Label用于播放视频,一个Horizontal Slider用于控制进度,三个PushButton,再根据需求随便放几个Spacer。

将除了Label以外的多个控件同时选中,右键,用一个Horizontal Layout(水平布局)进行对齐,如图:水平布局

同理,将Label控件和上述水平布局同时选中,添加一个GridLayout或者Vertical Layout:
栅格布局

在没有控件的空白处,右击-布局-垂直布局,添加一个顶级布局:
这里写图片描述

设置各个控件的sizePolicy(尺寸策略),常用策略包括:

策略性质
Fixed固定为控件的默认尺寸sizeHint,不可改变
Minimum以sizeHint为最小尺寸,只能放大
Maximum以sizeHint为最大尺寸,只能缩小
Preferred允许放大或者缩小
Expandint控件可以自行增大或者缩小

例如在本项目中,可以把Label的垂直策略和Slider的水平策略设置为Expandint。

sizePolicy

其余的一些常规属性修改和设置。最后基本界面如下:
这里写图片描述

完成简单的布局设计之后,就进入下一步 [ QMediaPlayer的基本使用 ]

  • 5
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值