Qt视频播放器项目
一.创建项目
二.设计UI
按钮与名称的对应
打开视频按钮 -> pushButton_Open
播放按钮 -> pushButton_Play
暂停按钮 -> pushButton_Pause
停止按钮 -> pushButton_Stop
音量按钮 -> pushButton_Sound
设置图标
在项目目录下创建images文件夹,把图标放进去
全选如下图标
ctrl+s保存
ctrl+s保存
添加文件名称标签,进度条,播放进度标签
添加group box,框住文件名称,进度条,播放进度。
如上一步一致,把group box放到后面
给窗口添加图标
固定窗口使它无法随便拖动修改大小
给两个滑动条设置变量名为:
horizontalSlider1
horizontalSlider2
修改滑动条样式
ui->horizontalSlider1->setStyleSheet("QSlider::groove:horizontal {""border:1px solid skyblue;""background-color:skyblue;""height:10px;""border-radius:5px;""}""QSlider::handle:horizontal{""background:qradialgradient(spread:pad,cx:0.5,cy:0.5,radius:0.5,fx:0.5,fy:0.5,stop:0.7 white,stop:0.8 rgb(140,212,255));""width:20px;""border-radius:10px;""margin-top:-5px;""margin-bottom:-5px;}""#horizontalSlider::sub-page:horizontal{""background:red:""margin:5px;""border-radius:5px;}");
ui->horizontalSlider2->setStyleSheet("QSlider::groove:horizontal {""border:1px solid skyblue;""background-color:skyblue;""height:10px;""border-radius:5px;""}""QSlider::handle:horizontal{""background:qradialgradient(spread:pad,cx:0.5,cy:0.5,radius:0.5,fx:0.5,fy:0.5,stop:0.7 white,stop:0.8 rgb(140,212,255));""width:20px;""border-radius:10px;""margin-top:-5px;""margin-bottom:-5px;}""#horizontalSlider::sub-page:horizontal{""background:red:""margin:5px;""border-radius:5px;}");
把上面两个滑动条样式的代码放到如下位置:
运行结果:
实现视频播放功能
添加关于视频和语音的包
在头文件中添加相关的包
#pragma execution_character_set("utf-8")
#include <QDialog>
#include <QMediaPlayer>
#include <QMediaPlaylist>
#include <QVideoWidget>
#include <QGraphicsVideoItem>
#include <QFileDialog>
#include <QGraphicsScene>
#include <QMessageBox>
在头文件的类里定义对象 和 创建槽函数的声明
private:QMediaPlayer *player;QGraphicsVideoItem * videoitem;QString duration_time,position_time; //播放时间
private:void onStateChanged(QMediaPlayer::State state);void onDurationChanged(qint64 duration);void onPositionChanged(qint64 position);
给每个按钮添加点击事件的槽函数
框中的按钮全都进行上述操作
待更新