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

PyQt6加载视频方法示例

在 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.kler.cn/a/592946.html

相关文章:

  • 单片机学完开发板,如何继续提升自己的技能?
  • 如何在项目中有效管理设计模式的复杂性
  • 【漫话机器学习系列】149.ROC 曲线(Receiver Operating Characteristic Curve)
  • HarmonyOS Next中的弹出框使用
  • DockerTLS加密/不加密传输
  • 科技快讯 | AI助手也“摆烂”;国内独有“玻璃光盘”技术发布;“全国消协智慧315平台”正式上线
  • Leetcode-100 回溯法-全排列
  • 实用工具-Another Redis Desktop Manager介绍
  • 2023南京理工大学计算机复试上机真题
  • 安全基线-rm命令防护
  • 【论文阅读】Adversarial Patch Attacks on Monocular Depth Estimation Networks
  • 【总结】Pytest vs Behave,BDD 测试框架哪家强?
  • MyBatis 配置文件解析使用了哪些设计模式
  • Hessian 矩阵是什么
  • Quartus + VScode 实现模块化流水灯
  • MySQL-单表查询
  • Java 大视界 -- 基于 Java 的大数据分布式存储系统的数据备份与恢复策略(139)
  • 如何在electron中注册快捷键?
  • 【机器学习】强化学习
  • securtiy_crt访问ubuntu报Key exchange failed问题