1

フォノンプレーヤーをフルスクリーンに設定する方法を知りたいですか? このコードを試しています。

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

しかし、私はこのエラーメッセージを受け取り続けます

TypeError: 'sip.methoddescriptor' オブジェクトは呼び出し可能ではありません

上記のコードはサンプル プロジェクトからのものです。元のコードは

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

PyQTでそれを再作成していますが、私には難しいようです。何が欠けているか(それについて直感を持っている)、または何が間違っているかについて、誰かが私を案内してもらえますか?

4

2 に答える 2

2

VideoPlayerはVideoWidgetと同じものではありませ

VideoPlayerはのサブクラスでQWidgetあるため、メソッドがありますが、クラスに属するメソッドと、はありません。isFullScreenenterFullScreenexitFullScreenVideoWidget

ただし、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()
于 2012-02-17T18:49:13.450 に答える
0

問題は の使用にあると思います。self.ui.videoPlayer.isFullScreenおそらく True または False を返しています。これを使用するself.ui.videoPlayer.isFullScreen()と、実際には 'False()' に解決されます。

奇妙なことに、PyQT のドキュメントには、利用可能なメソッド/プロパティの一部として「isFullScreen」がリストされていません。ただし、QWidget のドキュメントでは isFullScreen がブール値を返すと表示されています。

代わりに、これを試してください:

if not self.ui.videoPlayer.isFullScreen:
    self.ui.videoPlayer.enterFullScreen()
else: 
    self.ui.videoPlayer.exitFullScreen()
于 2012-02-17T09:06:46.670 に答える