Как вставить видео через mpylayer в кадр QWidget?

Это возможно вPyQt4 вставлять видео черезmpylayer вQWidget (или в подкласс этого). Если да, не могли бы вы привести минимальный рабочий пример.

Ответы на вопрос(2)

Вы должны получить дескриптор (id) виджета & # x2192;http://qt-project.org/doc/qt-4.8/qwidget.html#winId И передать его-wid вариант MPlayer.

Я не могу предоставить вам пример с Qt просто потому, что я не знаю Qt, но я уже написал MplayerCtrl для wxPython:https://bitbucket.org/dav1d/mplayerctrl

Соответствующий код:https://bitbucket.org/dav1d/mplayerctrl/src/c680a1d99ad2/MplayerCtrl.py#cl-873

 student13 авг. 2012 г., 11:25
Спасибо за подсказки. Но мне нужно больше деталей. Возможно, кто-то со знанием PyQt может добавить минимальный пример
Решение Вопроса

qmpwidget.

Но вот минимальная демонстрация PyQt для начала:

import mpylayer
from PyQt4 import QtGui, QtCore

class Window(QtGui.QWidget):
    def __init__(self):
        QtGui.QWidget.__init__(self)
        self.container = QtGui.QWidget(self)
        self.container.setStyleSheet('background: black')
        self.button = QtGui.QPushButton('Open', self)
        self.button.clicked.connect(self.handleButton)
        layout = QtGui.QVBoxLayout(self)
        layout.addWidget(self.container)
        layout.addWidget(self.button)
        self.mplayer = mpylayer.MPlayerControl(
            'mplayer', ['-wid', str(self.container.winId())])

    def handleButton(self):
        path = QtGui.QFileDialog.getOpenFileName()
        if not path.isEmpty():
            self.mplayer.loadfile(unicode(path))

if __name__ == '__main__':

    import sys
    app = QtGui.QApplication(sys.argv)
    window = Window()
    window.resize(640, 480)
    window.show()
    sys.exit(app.exec_())

(NB: эта демоверсия была протестирована только на Linux)

 13 авг. 2012 г., 23:47
@ученик. Совершенно пропустил, что вы использовалиmpylayer, В любом случае, я обновил свой демо-скрипт соответственно.
 06 апр. 2016 г., 20:30
@mrgloom. Не совсем уверен, что вы имеете в виду, ноoriginal version of my answer не используетmpylayer.
 06 апр. 2016 г., 20:08
Можно ли это сделать безmpylayer? возможно используяPyQt4.phonon ?

Ваш ответ на вопрос