当前位置: 首页 > news >正文

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);

给每个按钮添加点击事件的槽函数

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

框中的按钮全都进行上述操作

待更新

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • VUE学习——数组变化侦测
  • WordPress突然后台无法管理问题
  • Golang 基础 Go Modules包管理
  • Vue项目创建
  • Python和Java的区别(不断更新)
  • 生存类游戏《幻兽帕鲁》从部署服务器到开始体验全过程
  • 解决“使用Edge浏览器每次鼠标点击会出现一个黑色边框”的问题
  • Unity SRP 管线【第十讲:SRP/URP 图形API】
  • Git的基础操作指令
  • uniapp小程序端使用计算属性动态绑定style样式踩坑
  • SpringMVC-请求
  • 345. Reverse Vowels of a String(反转字符串中的元音字母)
  • Leetcode 337 打家劫舍 III
  • 推荐一款开源的跨平台划词翻译和OCR翻译软件:Pot
  • Open CASCADE学习|保存为STL文件
  • 【许晓笛】 EOS 智能合约案例解析(3)
  • crontab执行失败的多种原因
  • Git的一些常用操作
  • golang中接口赋值与方法集
  • js数组之filter
  • redis学习笔记(三):列表、集合、有序集合
  • SegmentFault 2015 Top Rank
  • tab.js分享及浏览器兼容性问题汇总
  • vue从创建到完整的饿了么(18)购物车详细信息的展示与删除
  • 阿里云爬虫风险管理产品商业化,为云端流量保驾护航
  • 创建一个Struts2项目maven 方式
  • 解析带emoji和链接的聊天系统消息
  • 理解IaaS, PaaS, SaaS等云模型 (Cloud Models)
  • 前端 CSS : 5# 纯 CSS 实现24小时超市
  • 数据仓库的几种建模方法
  • 听说你叫Java(二)–Servlet请求
  • 译米田引理
  • 用Node EJS写一个爬虫脚本每天定时给心爱的她发一封暖心邮件
  • 找一份好的前端工作,起点很重要
  • Java总结 - String - 这篇请使劲喷我
  • 资深实践篇 | 基于Kubernetes 1.61的Kubernetes Scheduler 调度详解 ...
  • # 达梦数据库知识点
  • #《AI中文版》V3 第 1 章 概述
  • #Datawhale AI夏令营第4期#AIGC文生图方向复盘
  • #HarmonyOS:软件安装window和mac预览Hello World
  • #大学#套接字
  • #免费 苹果M系芯片Macbook电脑MacOS使用Bash脚本写入(读写)NTFS硬盘教程
  • (每日一问)设计模式:设计模式的原则与分类——如何提升代码质量?
  • (十五)使用Nexus创建Maven私服
  • (一)Thymeleaf用法——Thymeleaf简介
  • (一)VirtualBox安装增强功能
  • (转)人的集合论——移山之道
  • *_zh_CN.properties 国际化资源文件 struts 防乱码等
  • .net core + vue 搭建前后端分离的框架
  • .net core 依赖注入的基本用发
  • .NET Micro Framework 4.2 beta 源码探析
  • .NET 服务 ServiceController
  • .net连接MySQL的方法
  • .NET面试题解析(11)-SQL语言基础及数据库基本原理
  • .net下的富文本编辑器FCKeditor的配置方法