pyqt视频循环播放
时间: 2024-02-23 20:55:17 浏览: 146
在PyQt中实现视频循环播放可以通过使用QMediaPlayerQVideoWidget来实现。下面是一个简单的示例代码:
```python
from PyQt5.QtWidgets import QApplication, QMainWindow, QVBoxLayout, QWidget, QPushButton, QFileDialog, QLabel
from PyQt5.QtMultimedia import QMediaPlayer, QMediaContent
from PyQt5.QtMultimediaWidgets import QVideoWidget
from PyQt5.QtCore import Qt
class VideoPlayer(QMainWindow):
def __init__(self):
super().__init__()
self.setWindowTitle("Video Player")
self.setGeometry(100, 100, 800, 600)
self.media_player = QMediaPlayer(self)
self.video_widget = QVideoWidget(self)
layout = QVBoxLayout()
layout.addWidget(self.video_widget)
central_widget = QWidget(self)
central_widget.setLayout(layout)
self.setCentralWidget(central_widget)
self.media_player.setVideoOutput(self.video_widget)
self.play_button = QPushButton("Play", self)
self.play_button.clicked.connect(self.play_video)
layout.addWidget(self.play_button)
def play_video(self):
file_dialog = QFileDialog()
file_path, _ = file_dialog.getOpenFileName(self, "Open Video")
if file_path != '':
video_url = QMediaContent(Qt.QUrl.fromLocalFile(file_path))
self.media_player.setMedia(video_url)
self.media_player.play()
if __name__ == "__main__":
app = QApplication([])
window = VideoPlayer()
window.show()
app.exec_()
```
这个示例代码创建了一个简单的视频播放器窗口,包含一个播放按钮和一个视频显示区域。点击播放按钮后,会弹出文件选择对话框,选择一个视频文件后即可开始播放。播放结束后,视频会自动循环播放。
阅读全文