PyQt6加载视频方法示例

news/2025/3/20 15:24:48/

在 PyQt6 中加载视频可以使用 QMediaPlayer 和 QVideoWidget。以下是一个简单的示例,展示如何在 PyQt6 中加载并播放视频:

import sys

from PyQt6.QtWidgets import QApplication, QMainWindow, QVBoxLayout, QWidget, QPushButton

from PyQt6.QtMultimedia import QMediaPlayer

from PyQt6.QtMultimediaWidgets import QVideoWidget

from PyQt6.QtCore import QUrl

class VideoPlayer(QMainWindow):

    def __init__(self):

        super().__init__()

        self.setWindowTitle("PyQt6 Video Player")

        self.setGeometry(100, 100, 800, 600)

        # 创建视频播放器

        self.media_player = QMediaPlayer(self)

        self.video_widget = QVideoWidget(self)

        # 设置视频输出到 QVideoWidget

  self.media_player.setVideoOutput(self.video_widget)

        # 创建布局

        layout = QVBoxLayout()

        layout.addWidget(self.video_widget)

        # 创建播放按钮

        self.play_button = QPushButton("Play")      self.play_button.clicked.connect(self.play_video)

        layout.addWidget(self.play_button)

        # 设置主窗口的中心部件

        container = QWidget()

        container.setLayout(layout)

        self.setCentralWidget(container)

    def play_video(self):

        # 加载视频文件     self.media_player.setSource(QUrl.fromLocalFile("path/to/your/video.mp4"))

        self.media_player.play()

if __name__ == "__main__":

    app = QApplication(sys.argv)

    player = VideoPlayer()

    player.show()

    sys.exit(app.exec())

 代码说明:

1. QMediaPlayer: 用于控制媒体的播放、暂停、停止等操作。

2. QVideoWidget: 用于显示视频内容。

3. QUrl: 用于指定视频文件的路径。

运行步骤:

1. 将代码中的 "path/to/your/video.mp4"替换为你要播放的视频文件的实际路径。

2. 运行代码,窗口中将显示视频播放界面,点击 "Play" 按钮即可播放视频。


http://www.ppmy.cn/news/1580625.html

相关文章

DeepSeek算力服务器的选型--青岛佰优联创新科技有限公司

在DeepSeek算力服务器的选型中,需结合应用场景、预算、性能需求、扩展性等因素综合评估。以下是从不同场景出发的推荐配置及选型建议: --- 一、选型核心要素 1. 算力需求 - 训练场景:依赖多GPU并行计算(如NVIDIA H100/A100&…

python爬虫碰到IP被封的情况,如何解决?

在数据抓取和爬虫开发的实践中,Python作为一种功能强大且易于上手的编程语言,被广泛应用于网络数据的采集。然而,随着网络环境的日益复杂,爬虫活动也面临着越来越多的挑战,其中IP被封便是常见且棘手的问题。IP被封不仅…

NO.9|C++内存|堆和栈|内存管理|malloc和局部变量|程序section启动过程|全局变量|内存泄漏|atomoic|内存模型|内存对齐

简述一下堆和栈的区别 参考回答 区别: 堆栈空间分配不同。栈由操作系统自动分配释放 ,存放函数的参数值,局部变量的值等;堆一般由程序员分配释放。堆栈缓存方式不同。栈使用的是一级缓存, 它们通常都是被调用时处于…

利用 Resnet50 重新训练,完成宠物数据集的识别,附源代码。。

如果你对深度学习有所了解,知道神经网络可以识别图片,但还没自己动手训练过模型,这篇文章会非常适合你。 这篇文章将使用 PyTorch 和 ResNet50,基于 Oxford-IIIT Pet 数据集(37 类宠物)完成一个完整的训练…

嵌入式八股ARM篇

前言 ARM篇主要介绍一下寄存器和中断机制,至于汇编这一块…还请大家感兴趣自行学习 1.寄存器 R0 - R3 R4 - R11 寄存器 R0 - R3一般用作函数传参 R4 - R11用来保存程序运算的中间结果或函数的局部变量 在函数调用过程中 注意在发生异常的时候 cortex-M0架构会自动将R0-R3压入…

【Python机器学习】3.2. 决策树理论(进阶):ID3算法、信息熵原理、信息增益

喜欢的话别忘了点赞、收藏加关注哦(关注即可查看全文),对接下来的教程有兴趣的可以关注专栏。谢谢喵!(・ω・) 本文承接 3.1. 决策树理论(基础),没看过的建议先看前文。 3.2.1. ID3算法数学原理…

云钥科技工业相机定制服务,助力企业实现智能智造

在工业自动化、智能制造和机器视觉快速发展的今天,工业相机作为核心感知设备,其性能直接决定了检测精度、生产效率和产品质量。然而,标准化工业相机往往难以满足复杂多样的应用场景需求,‌工业相机定制‌逐渐成为企业突破技术瓶颈…

面试总结之 Glide自定义的三级缓存策略

一、为什么需要三级缓存? 在移动应用开发中,图片加载性能直接影响用户体验。根据 Google 统计,图片加载延迟超过 1 秒会导致 32% 的用户流失。传统图片加载方案存在以下痛点: 内存占用高:未压缩的大图直接占用大量内…