用Python做一个简单的视频播放器

2023-10-31

相关文件
关注小编,私信小编领取就好啦

开发工具
Python版本:3.7.8
相关模块:
pyqt5模块;
以及一些python自带的模块。

搭建环境
安装Python并添加到环境变量,pip安装需要的相关模块即可。

原理介绍
这里我们主要利用PyQt5来带大家写个简单的视频播放器。首先,我们来初始化一下视频播放器的窗口:

#初始化窗口
self.setWindowTitle('视频播放器 ')
self.setWindowIcon(QIcon(os.path.join(os.getcwd(), 'images/icon.png')))
self.setGeometry(300, 50, 810, 600)
self.setWindowFlags(Qt.WindowCloseButtonHint | Qt.WindowMinimizeButtonHint)
palette = QPalette()  
palette.setColor(QPalette.Background, Qt.gray)
self.setPalette(palette)

其中setWindowTitle函数用于设置窗口标题,而setWindowIcon函数则用于设置窗口图标:
在这里插入图片描述
接着,我们来定义一些必要的组件,即视频播放插件

self.video_widget = QVideoWidget(self)
self.video_widget.setGeometry(QRect(5, 5, 800, 520))
palette = QPalette()
palette.setColor(QPalette.Background, Qt.black)
self.video_widget.setPalette(palette)
self.video_widget.setStyleSheet('background-color:#000000')
self.player = QMediaPlayer(self)
self.player.setVideoOutput(self.video_widget)
self.player.setVolume(50)

和选择视频相关的组件:

#--当前的视频路径
self.video_line_edit = QLineEdit('')
#--选择视频按钮
self.select_video_btn = QPushButton('选择')

播放和暂停按钮(需要注意的是播放和暂停按钮不能同时显示,即默认是显示播放键,隐藏暂停键,按下播放键后播放键按钮隐藏,而暂停键按钮显示,以此类推):

#--播放按钮
self.play_btn = QPushButton(self)
self.play_btn.setIcon(QIcon(os.path.join(os.getcwd(), 'images/play.png')))
self.play_btn.setIconSize(QSize(25, 25))
self.play_btn.setStyleSheet('''QPushButton{border:none;}QPushButton:hover{border:none;border-radius:35px;}''')
self.play_btn.setCursor(QCursor(Qt.PointingHandCursor))
self.play_btn.</
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

用Python做一个简单的视频播放器 的相关文章

随机推荐

  • k8s1.27.2 kubeadm 高可用安装

    一 安装说明 部署说明 本次部署采用的系统版本为Centos7 9 内核版本为6 3 5 1 el7 K8S版本为v1 27 2 containerd版本 1 7 1 cni版本 1 3 0 crictl 版本 1 27 0 etcd版本为
  • 第九章SQL语言

  • Java字节码介绍

    Java字节码 概述 学习 Java 的都知道 我们所编写的 java 代码文件通过编译将会生成 class 文件 最初的方式就是通过 JDK 的 javac 指令来编译 再通过 java 命令执行 main 方法所在的类 从而执行我们的
  • Windows删除流氓软件方法记录

    windows权限管理那相当的糟糕啊 但凡你下载安装国产软件 尤其是那种小广告很多的网站 也有好处 也算是一种免费获得大多数软件的灰色渠道吧 毕竟鱼与熊掌不可兼得嘛 基本都会捆绑一些行为流氓的软件 相对于macos windows就是一个很
  • 安果相亲-找到心仪的另一半 一个安卓免费找对象软件推荐

    安果相亲 全国范围内的真实恋爱相亲平台 致力于帮助用户寻找真实恋爱 我们的实名认证机制确 保用户信息的真实性 汇集了高学历 经济稳定 丰富生活经验的优质单身男女 都在这里真诚地等待那个对的人 每个手机只能注册一个账户 为您提供一个更安全 更
  • ROS联合webots扩展(一)设定目标点进行导航

    设定目标点进行导航 注意 再学习本系列教程时 应该已经安装过ROS了并且需要有一些ROS的基本知识 此教程以webots demo为基础 ubuntu版本 20 04 webots版本 2021a ros版本 noetic 为了能和读者进一
  • 华为HCIE云计算之ebackup备份FC虚拟机

    华为HCIE云计算之ebackup备份FC虚拟机 一 登录ebackup 二 对接FC虚拟化平台 1 对接FC 2 查看FC上所有虚拟机 三 配置存储 1 创建存储单元 2 配置存储池 3 创建存储库 四 ebackup备份流程 1 配置受
  • C#类静态构造函数

    最近有做到面试题如下 class A private static int g n 1 static A g n public A g n public static int main A a1 new A A a2 new A conso
  • CSS 选择器的种类有哪些?怎么用?

    CSS 选择器的种类有哪些 怎么用 CSS 选择器的种类有标签选择器 类选择器 层级选择器 后代选择器 id选择器 组选择器 伪类选择器 作为程序员应该具备根据不同的场景选择适合的CSS选择器 CSS 选择器学习目标 熟悉掌握CSS 选择器
  • 追光的人 团队团队展示

    所属课程 软件工程1916 作业要求 团队作业第一次 团队展示 团队名称 追光的人 作业目标 让团队成员进行初步的认识和了解 互相熟悉 粗定项目类型 1 团队信息 团队名称 追光的人 团队人数 7 团队描述 一万次悲伤 依然会有dream
  • Chat GPT5如果问世会对世界产生什么影响?以及未来chat gpt 5会取代什么类型的工作。

    Chat GPT 5是一种基于人工智能技术的自然语言处理系统 可以自动回复和生成各种文本随着其技术的不断发展和改进 Chat GPT 5对未来世界将会产生以下几方面的影响 1 提升人类语言交流的效率和质量 Chat GPT 5可以高效地处理
  • Redis面试题 (2023最新版)

    文章目录 一 Redis为什么快 1 纯内存访问 2 单线程 避免上下文切换 3 渐进式ReHash 缓存时间戳 1 渐进式ReHash 2 缓存时间戳 二 Redis合适的应用场景 常用基本数据类型 5种 1 字符串 String 1 缓
  • CSS_文字渐变

    定义渐变背景样式 gradient text background image linear gradient to right ff0000 00ff00 渐变色范围 background clip text 应用渐变背景到文本 webk
  • VS2022 CMake报错解决小结

    目录 一 问题背景 二 问题分析 三 问题解决 一 问题背景 VS2022中能够跨平台的工程类型就是CMake项目 一套代码能跨windows Linux Mac多种操作系统 而实际使用时 发现相关资料比较少 需要摸索一下 碰到的问题简述
  • STM32 DMA+ADC连续采样产生的内部噪声和解决办法

    本文讨论的是内部采样频率过高而产生的噪声 DMA ADC连续采样 DMA发送完成产生中断后继续开启ADC转换 如下图中ADC Value数组中出现异常数据 DMA ADC 1ms 间隔采样 异常数据消失 电压12 22 电阻分压系数 4 0
  • javaMail SMTPSendFailedException: java邮件发送常见的异常类型

    421 HL REP 该IP发送行为异常 存在接收者大量不存在情况 被临时禁止连接 请检查是否有用户发送病毒或者垃圾邮件 并核对发送列表有效性 421 HL ICC 该IP同时并发连接数过大 超过了网易的限制 被临时禁止连接 请检查是否有用
  • 【Linux入门指北】第六篇 Linux常用的开发工具

    文章目录 前言 一 Linux编辑器 vi vim 1 vi vim介绍 2 vi vim 各种模式间的相互切换 3 一般模式 4 编辑模式 4 命令行模式 二 Linux软件包管理器 yum RPM 1 yum介绍 2 YUM本地源 系统
  • JavaEE-制作JSTL标签 详解

    使用定制标签库使得JSP程序更加简洁 可读性和可维护性大大的提高了 因此JSP定制标签的优势是非常明显的 它被认为是JSP所有特性中最被看好的特性 我们要编写一个标签 向请求者的浏览器输出 Hello World 同时该标签是一个没有体内容
  • 红队渗透靶场之W1R3S靶场(超详细!)

    W1R3S考察知识 nmap的基本使用 目录爆破工具的使用 CMS漏洞的利用 Linux用户的简单提权 W1R3S靶场搭建 W1R3S靶场下载地址 https download vulnhub com w1r3s w1r3s v1 0 1
  • 用Python做一个简单的视频播放器

    相关文件 关注小编 私信小编领取就好啦 开发工具 Python版本 3 7 8 相关模块 pyqt5模块 以及一些python自带的模块 搭建环境 安装Python并添加到环境变量 pip安装需要的相关模块即可 原理介绍 这里我们主要利用P