1

考虑以下示例:

import sys
from PyQt4.QtCore import *
from PyQt4.QtGui import *
from mplayer import *


class mplayerStarter(QMainWindow):
    def __init__(self, parent=None):
        super(mplayerStarter, self).__init__(parent)
        the_button = QPushButton('Start Mplayer')
        the_button.clicked.connect(self.start)
        self.setCentralWidget(the_button)

    def start(self):
        player = Player()
        player.loadfile('/tmp/video.mp4')

if __name__ == "__main__":
    import sys
    app = QApplication(sys.argv)
    form = mplayerStarter()
    form.show()
    app.exec_()

如果我调用程序并按下按钮,视频会出现但立即消失。知道如何解决这个问题吗?

4

1 回答 1

2

我认为它可能正在被垃圾收集。尝试这个:

class mplayerStarter(QMainWindow):
    def __init__(self, parent=None):
        super(mplayerStarter, self).__init__(parent)
        the_button = QPushButton('Start Mplayer')
        the_button.clicked.connect(self.start)
        self.setCentralWidget(the_button)
        self.player = None

    def start(self):
        self.player = Player()
        self.player.loadfile('/tmp/video.mp4')
于 2011-06-29T13:43:53.453 回答