pyqt5 新建窗口播放视频
时间: 2023-10-22 15:10:48 浏览: 108
可以使用QMediaPlayer和QVideoWidget来实现在PyQt5中播放视频的功能。具体步骤如下:
1. 导入必要的模块:
```python
from PyQt5.QtCore import QUrl
from PyQt5.QtWidgets import QApplication, QMainWindow, QFileDialog, QPushButton, QVBoxLayout, QWidget, QStyle
from PyQt5.QtMultimedia import QMediaPlayer, QMediaContent
from PyQt5.QtMultimediaWidgets import QVideoWidget
```
2. 创建主窗口和视频播放器:
```python
class MainWindow(QMainWindow):
def __init__(self):
super().__init__()
# 创建视频播放器
self.mediaPlayer = QMediaPlayer(None, QMediaPlayer.VideoSurface)
videoWidget = QVideoWidget()
# 设置视频播放器的输出窗口
self.mediaPlayer.setVideoOutput(videoWidget)
# 创建主窗口
centralWidget = QWidget(self)
self.setCentralWidget(centralWidget)
# 创建打开文件按钮
openButton = QPushButton("打开文件", self)
openButton.clicked.connect(self.openFile)
# 创建布局并将控件添加到布局中
layout = QVBoxLayout()
layout.addWidget(videoWidget)
layout.addWidget(openButton)
# 将布局设置为主窗口的中心部件
centralWidget.setLayout(layout)
```
3. 实现打开文件功能:
```python
def openFile(self):
fileName, _ = QFileDialog.getOpenFileName(self, "选择视频文件", "", "视频文件 (*.mp4 *.avi *.mkv)")
if fileName != '':
self.mediaPlayer.setMedia(QMediaContent(QUrl.fromLocalFile(fileName)))
self.mediaPlayer.play()
```
4. 运行程序:
```python
if __name__ == '__main__':
app = QApplication([])
mainWindow = MainWindow()
mainWindow.show()
app.exec_()
```
阅读全文
相关推荐
![py](https://img-home.csdnimg.cn/images/20250102104920.png)
![zip](https://img-home.csdnimg.cn/images/20241231045053.png)
![zip](https://img-home.csdnimg.cn/images/20241231045053.png)
![pdf](https://img-home.csdnimg.cn/images/20241231044930.png)
![pdf](https://img-home.csdnimg.cn/images/20241231044930.png)
![zip](https://img-home.csdnimg.cn/images/20241231045053.png)
![pdf](https://img-home.csdnimg.cn/images/20241231044930.png)
![rar](https://img-home.csdnimg.cn/images/20241231044955.png)
![pdf](https://img-home.csdnimg.cn/images/20241231044930.png)
![zip](https://img-home.csdnimg.cn/images/20241231045053.png)
![pdf](https://img-home.csdnimg.cn/images/20241231044930.png)
![pdf](https://img-home.csdnimg.cn/images/20241231044930.png)
![pdf](https://img-home.csdnimg.cn/images/20241231044930.png)
![pdf](https://img-home.csdnimg.cn/images/20241231044930.png)
![pdf](https://img-home.csdnimg.cn/images/20241231044930.png)
![pdf](https://img-home.csdnimg.cn/images/20241231044930.png)
![pdf](https://img-home.csdnimg.cn/images/20241231044930.png)
![pdf](https://img-home.csdnimg.cn/images/20241231044930.png)