python - pyQT声子播放器全屏显示?

标签 python pyqt fullscreen phonon

我想知道如何将声子播放器设置为全屏? 我正在尝试这个代码。

    if not self.ui.videoPlayer.isFullScreen():
        self.ui.videoPlayer.enterFullScreen()
    else: 
        self.ui.videoPlayer.exitFullScreen()

但我不断收到此错误消息

TypeError: 'sip.methoddescriptor' object is not callable

上面的代码来自一个示例项目。原来的代码是

def full(self):
    if not self.videoWidget.isFullScreen():
        self.videoWidget.enterFullScreen()
    else: 
        self.videoWidget.exitFullScreen()

我在 PyQT 中重新创建它,这对我来说似乎很难。 谁能指导我缺少什么(有预感) 或者我做错了什么?

最佳答案

一个VideoPlayerVideoWidget 不同。 .

VideoPlayerQWidget 的子类,因此它有一个 isFullScreen 方法 - 但它>不会有方法enterFullScreenexitFullScreen,它们属于VideoWidget类。

但是,VideoPlayer 类有一个 videoWidget方法返回它使用的视频小部件的实例,因此您的代码示例可能应该更改为:

videoWidget = self.ui.videoPlayer.videoWidget()
if videoWidget.isFullScreen():
    videoWidget.exitFullScreen()
else: 
    videoWidget.enterFullScreen()

编辑

要提供退出全屏模式的方法,请设置键盘快捷键:

class MainWindow(QtGui.QMainWindow):
    def __init__(self)
        ...
        self.shortcutFull = QtGui.QShortcut(self)
        self.shortcutFull.setKey(QtGui.QKeySequence('F11'))
        self.shortcutFull.setContext(QtCore.Qt.ApplicationShortcut)
        self.shortcutFull.activated.connect(self.handleFullScreen)

    def handleFullScreen(self):
        videoWidget = self.ui.videoPlayer.videoWidget()
        if videoWidget.isFullScreen():
            videoWidget.exitFullScreen()
        else: 
            videoWidget.enterFullScreen()

关于python - pyQT声子播放器全屏显示?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9325378/

相关文章:

javascript - 带 Highcharts 的全屏 Bootstrap 卡(100% 高度)

javascript - 以全屏模式打开网址

python - gcloud ML 引擎 - Keras 未在 GPU 上运行

python - 调用使用 argparse 的函数

python - 如何将 float 舍入为缩放整数?

python - 如何以编程方式单击 QTreeWidgetItem

python - 获取基于特定项目的先前值

python - 是否可以在 kivy GridLayout 中为特定的小部件指定特定的网格

python - 在PyQt中取消后台任务(终止QThread)

java - 当 JOptionPane.showMessageDialog 时停止全屏窗口最小化?