我想知道如何将声子播放器设置为全屏? 我正在尝试这个代码。
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 中重新创建它,这对我来说似乎很难。 谁能指导我缺少什么(有预感) 或者我做错了什么?
最佳答案
一个VideoPlayer与 VideoWidget 不同。 .
VideoPlayer
是 QWidget
的子类,因此它将有一个 isFullScreen
方法 - 但它>不会有方法enterFullScreen
和exitFullScreen
,它们属于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/