В чем различие между PyQt 6.4.2 и PyQt 6.7.1? Почему код, который корректно работал в старой версии, не запускается в новой?

Вот сам код:

import sys   
from PyQt6.QtWidgets import QApplication, QWidget, QPushButton, QHBoxLayout, QVBoxLayout, QStyle, QSlider, QFileDialog
from PyQt6.QtCore import Qt, QUrl
from PyQt6.QtMultimedia import QMediaPlayer, QAudioOutput
from PyQt6.QtMultimediaWidgets import QVideoWidget

    
class PyVideoPlayer(QWidget):
    def __init__(self):
        super().__init__()
        self.setGeometry(200, 200, 700, 400)
        self.player = QMediaPlayer()
        self.audio = QAudioOutput()
        self.videowidget = QVideoWidget()
        self.player.setVideoOutput(self.videowidget)
        self.player.setAudioOutput(self.audio)
        self.cur = False  # текущее состояние ролика
        self.load_UI()

    def load_UI(self):
        # диалог открытия и пауза
        self.openBtn = QPushButton("Открыть")
        self.openBtn.clicked.connect(self.open)
        self.playBtn = QPushButton()
        self.playBtn.setEnabled(False)
        self.playBtn.setIcon(self.style().standardIcon(QStyle.StandardPixmap.SP_MediaPlay))
        self.playBtn.clicked.connect(self.play)
        # слайдер
        self.slider = QSlider(Qt.Orientation.Horizontal)
        self.slider.setRange(0, 0)
        self.slider.sliderMoved.connect(self.set_position)
        self.player.positionChanged.connect(self.position_changed)
        self.player.durationChanged.connect(self.duration_changed)
        # верстка
        hbox = QHBoxLayout()
        hbox.addWidget(self.openBtn)
        hbox.addWidget(self.playBtn)
        hbox.addWidget(self.slider)
        vbox = QVBoxLayout()
        vbox.addWidget(self.videowidget)
        vbox.addLayout(hbox)
        self.setLayout(vbox)

    def open(self):
        filename, _ = QFileDialog.getOpenFileName(self, "c:\", "", "Video files (*.mp4 *.mpeg *.mov *.avi)")
        
        if filename != '':
            self.player.setSource(QUrl.fromLocalFile(filename))
            self.playBtn.setEnabled(True)

    def play(self):
        self.cur = True if not self.cur else False
        if self.cur:
            self.player.play()
        else:
            self.player.pause()

    def position_changed(self, position):
        self.slider.setValue(position)

    def duration_changed(self, duration):
        self.slider.setRange(0, duration)

    def set_position(self, position):
        self.player.setPosition(position)


if __name__ == '__main__':
    app = QApplication(sys.argv)
    ex = PyVideoPlayer()
    ex.show()
    sys.exit(app.exec())

Ответы (0 шт):