Видео виджет изменяет свой размер - PullRequest
0 голосов
/ 06 июня 2018

Я довольно плохо знаком с использованием PyQt5 и использую его для создания собственного медиапроигрывателя. Проблема, с которой я столкнулся, заключается в том, что виджет видео изменяет свои размеры при воспроизведении или паузе, а также как настроить главное окно набыть того же размера, что и воспроизводимое видео, и как я могу остановить его изменение размера?

import sys
from PyQt5 import QtWidgets,QtGui
from PyQt5.QtMultimedia import QMediaContent, QMediaPlayer
from PyQt5.QtMultimediaWidgets import QVideoWidget
from PyQt5.QtCore import QDir, Qt, QUrl

class Window(QtWidgets.QMainWindow):

def __init__(self):
    super().__init__()
    self.k=0
    self.init_ui()

def init_ui(self):
    self.play=QtWidgets.QPushButton(self)
    self.stop=QtWidgets.QPushButton(self)
    self.play.setText('Play')
    self.stop.setText('Stop')
    self.play.move(0,700)
    self.stop.move(80,700)
    self.setWindowTitle('SyncMedia')
    menu = self.menuBar()
    file = menu.addMenu(' &File ')
    open =QtWidgets.QAction(QtGui.QIcon('open.png'), '&Open', self)
    file.addAction(open)
    #file.addAction(close)
    self.play.clicked.connect(self.play_click)
    self.mediaPlayer =QMediaPlayer(None, QMediaPlayer.VideoSurface)
    self.videoWidget = QVideoWidget()
    wid =QtWidgets.QWidget(self)
    self.setCentralWidget(wid)
    controlLayout=QtWidgets.QHBoxLayout()
    controlLayout.addWidget(self.play)
    controlLayout.addWidget(self.stop)
    layout =QtWidgets.QVBoxLayout()
    layout.addWidget(self.videoWidget)
    layout.addLayout(controlLayout)
    wid.setLayout(layout)
    self.videoWidget.move(500,500)
    self.mediaPlayer.setMedia(QMediaContent(QUrl.fromLocalFile("(videofilepath")))
    self.mediaPlayer.setVideoOutput(self.videoWidget)
    self.videoWidget.show()
    self.mediaPlayer.play()
    self.show()
def play_click(self):
    if(self.k==1):
        self.mediaPlayer.play()
        self.play.setText('Pause')
        self.k=0
    elif(self.k==0):
        self.mediaPlayer.pause()
        self.play.setText('Play')
        self.k=1

app=QtWidgets.QApplication(sys.argv)
window=Window()
sys.exit(app.exec_())
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...