0

我的问题是如何退出全屏。我制作了一个这样设置的程序:

    class Ui_MainWindow(object):
        def UI:
            some random ui stuff
            self.fullscreenbutton.clicked.connect(self.fullscreen)
        def vid(self):
            self.Video_Player = QtMultimediaWidgets.QVideoWidget(self.centralWidget)
            self.Video_Player.setObjectName("videoPlayer")
            self.horizontalLayout_4.addWidget(self.Video_Player)
            self.Video_Player.show()
            self.player = QtMultimedia.QMediaPlayer()
            self.player.setMedia(QMediaContent(QUrl.fromLocalFile(self.filePath)))
            self.player.setVideoOutput(self.Video_Player)
            self.player.play()
        def fullscreen(self):
            self.Video_Player.setFullscreen(True)

无论如何,我将如何使用按键事件退出全屏。我知道如何进行按键事件,但是由于代码的设置方式,我似乎无法让它们工作(因此上面给出了非常粗略的布局)。

我正在运行 Windows 7、python 3.5、PyQt5。

PS 很抱歉没有给出完整的代码,这是一个学校作业,如果代码是在网上找到的,很难证明它都是我的。

4

1 回答 1

1
class Ui_MainWindow(object):
        def setupUi(self, MainWindow):
            self.Video_Widget=Video_Widget_Class()
            self.horizontalLayout_4.addWidget(self.Video_Widget) 


class Video_Widget_Class(QVideoWidget):
        def Video_Widget(self):
            self.Video_Player = QtMultimediaWidgets.QVideoWidget(self.centralWidget)
            self.Video_Player.setObjectName("videoPlayer")
            self.Video_Player.show()

        def keyPressEvent(self, event):
            if event.key() == Qt.Key_Escape and self.isFullScreen():
                self.setFullScreen(False)
                event.accept()
            elif event.key() == Qt.Key_Enter and event.modifiers() & Qt.Key_Alt:
                self.setFullScreen(not self.isFullScreen())
                event.accept()

        def mouseDoubleClickEvent(self, event):
            self.setFullScreen(not self.isFullScreen())
            event.accept()

这就是我用来解决问题的方法。Ui_MainWindow 下还有其他东西,但这应该可以帮助遇到同样问题的任何人。

于 2016-07-20T07:40:47.927 回答