【问题标题】:Exit Fullscreen QMediaPlayer退出全屏 QMediaPlayer
【发布时间】:2016-07-19 09:53:47
【问题描述】:

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

    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。

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

【问题讨论】:

  • 您展示的大部分代码与您实际尝试解决的问题无关。请发布正确的minimal reproducible example
  • 不清楚问题是否与按键事件的处理有关(“由于代码的设置方式,我似乎无法让它们工作” ) 或退出全屏的函数。

标签: python pyqt pyqt5 qmediaplayer


【解决方案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 下还有其他东西,但这应该可以帮助遇到同样问题的人。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-09-28
    • 2023-03-19
    • 2010-11-20
    • 1970-01-01
    • 2013-10-21
    • 2012-03-29
    相关资源
    最近更新 更多