Skip to content

[Windows] Controls do not work in PyQT (?) #103

Open
@davFaithid

Description

@davFaithid

Take this code for instance.

    class MainWin(QMainWindow):
        def __init__(self, parent=None):
            super().__init__(parent)
            self.container = QWidget(self)
            self.setCentralWidget(self.container)
            self.container.setAttribute(Qt.WA_DontCreateNativeAncestors)
            self.container.setAttribute(Qt.WA_NativeWindow)
            self.setWindowTitle(title) 
            self.resize(1000, 563)

            player = mpv.MPV(wid=str(int(self.container.winId())), ytdl=True, player_operation_mode='pseudo-gui',
                 script_opts='osc-layout=box,osc-seekbarstyle=bar,osc-deadzonesize=0,osc-minmousemove=3',
                 input_default_bindings=True,
                 input_vo_keyboard=True,
                 osc=True)
            @player.on_key_press('esc')
            def my_key_binding():
                print('')
                sys.exit()
            player.play(url)
        #   player.wait_for_playback()
            del player

It works pretty well, it plays video in the window and it read the video from the url variable and the window title from title. Yet despite me having set not only the pseudo-gui and keyboard bindings, neither of them initiate so inside my window is video playing with no keyboard or in-window controls. I am relatively new to PyQt, so maybe this is a simple to fix issue.
Another oddity with the PyQt integration is that wait_for_playback() is automatic, and actually trying to call it prevents the video from playing.

I really like this module, and it is very handy for several of my video projects (ie this)

Metadata

Metadata

Assignees

No one assigned

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions