Графический выпуск PyQt5 Video Player

Я пытаюсь создать внутрипрограммный видеоплеер для воспроизведения избранных локальных файлов.mov из локального файла. Проблема, с которой я столкнулся, заключается в том, что как только QMediaPlayer начинает воспроизводиться, видео занимает весь QWidget, в котором он находится, а затем сжимается или расширяется до своего первоначального размера, независимо от переполнения из родительского QWidget. При этом он создает этот странный графический эффект Droste в своем родительском QWidget. Эффект можно увидеть в этом гифке

используя случайное тестовое видео, я обнаружил, что лежал вокруг моего рабочего стола.

Код для QWidget и проигрывателя видео:

    #---CONTAINERS---#
    body = QWidget(self)
    body.setObjectName('Body')
    #----------------#

    #---LAYOUTS---#
    body_box = QHBoxLayout(body)
    #-------------#

    #---VIDEO---#
    self.player = QMediaPlayer(body)
    video_widget = QVideoWidget(body)
    self.player.setVideoOutput(video_widget)
    self.player.setMedia(QMediaContent(QUrl.fromLocalFile("/path/to/file.mov")))
    self.player.play()

    body_box.addWidget(video_widget)
    #-----------#

    self.grid.addWidget(body, 1, 1) # Adds 'Body' to the window's QGridLayout

Что можно сделать, чтобы это исправить?

(Я использую PyQt5 на MacOS Sierra)

0 ответов

Другие вопросы по тегам