From 9c4050240b8c5ce44af16d41c486e4cbe07c32ed Mon Sep 17 00:00:00 2001 From: Page Asgardius Date: Mon, 9 Sep 2024 12:03:09 -0700 Subject: [PATCH] keyboard shortcuts --- videoplayer.py | 56 ++++++++++++++++++++++++++++---------------------- 1 file changed, 31 insertions(+), 25 deletions(-) diff --git a/videoplayer.py b/videoplayer.py index 39d2893..be8e720 100644 --- a/videoplayer.py +++ b/videoplayer.py @@ -6,7 +6,6 @@ from PyQt6.QtMultimedia import QMediaPlayer, QAudioOutput from PyQt6.QtMultimediaWidgets import QVideoWidget from PyQt6.QtCore import QUrl, Qt, QEvent - class VideoPlayer(QMainWindow): def __init__(self): super().__init__() @@ -21,16 +20,12 @@ class VideoPlayer(QMainWindow): self.video_widget = QVideoWidget() self.installEventFilter(self) - self.start_button = QPushButton("Start") - self.start_button.setFixedSize(60, 33) + self.start_button = QPushButton("▷||") + self.start_button.setFixedSize(33, 33) self.start_button.clicked.connect(self.start_video) - self.pause_button = QPushButton("Pause") - self.pause_button.setFixedSize(60, 33) - self.pause_button.clicked.connect(self.pause_video) - - self.stop_button = QPushButton("Stop") - self.stop_button.setFixedSize(60, 33) + self.stop_button = QPushButton("□") + self.stop_button.setFixedSize(33, 33) self.stop_button.clicked.connect(self.stop_video) self.slider = QSlider(Qt.Orientation.Horizontal) @@ -47,11 +42,11 @@ class VideoPlayer(QMainWindow): layout = QVBoxLayout() controls = QHBoxLayout() controls.addWidget(self.start_button) - controls.addWidget(self.pause_button) controls.addWidget(self.stop_button) + controls.addWidget(self.slider) layout.addWidget(self.video_widget) layout.addLayout(controls) - layout.addWidget(self.slider) + #layout.addWidget(self.slider) container = QWidget() container.setLayout(layout) @@ -60,13 +55,10 @@ class VideoPlayer(QMainWindow): def set_layout(self): self.video_widget = QVideoWidget() - self.start_button = QPushButton("Start") + self.start_button = QPushButton("▷||") self.start_button.setFixedSize(60, 33) self.start_button.clicked.connect(self.start_video) - self.pause_button = QPushButton("Pause") - self.pause_button.setFixedSize(60, 33) - self.pause_button.clicked.connect(self.pause_video) - self.stop_button = QPushButton("Stop") + self.stop_button = QPushButton("□") self.stop_button.setFixedSize(60, 33) self.stop_button.clicked.connect(self.stop_video) self.slider = QSlider(Qt.Orientation.Horizontal) @@ -75,21 +67,23 @@ class VideoPlayer(QMainWindow): layout = QVBoxLayout() controls = QHBoxLayout() controls.addWidget(self.start_button) - controls.addWidget(self.pause_button) controls.addWidget(self.stop_button) + controls.addWidget(self.slider) layout.addWidget(self.video_widget) layout.addLayout(controls) - layout.addWidget(self.slider) + #layout.addWidget(self.slider) container = QWidget() container.setLayout(layout) self.setCentralWidget(container) def start_video(self): - self.media_player.play() - - def pause_video(self): - self.media_player.pause() + if self.media_player.isPlaying(): + self.media_player.pause() + #self.start_button.setText("Play") + else: + self.media_player.play() + #self.start_button.setText("Pause") def stop_video(self): self.media_player.stop() @@ -116,17 +110,17 @@ class VideoPlayer(QMainWindow): else: if self.isMaximized(): self.fswindow = 1 - print("maximized") + #print("maximized") else: self.fswindow = 2 self.showFullScreen() self.setCentralWidget(self.video_widget) def dclickthr(self): self.dclick = True - print(self.dclick) + #print(self.dclick) time.sleep(0.5) self.dclick = False - print(self.dclick) + #print(self.dclick) def eventFilter(self, obj, event): @@ -137,6 +131,18 @@ class VideoPlayer(QMainWindow): dclickth = threading.Thread(target=self.dclickthr, name="Double Click") dclickth.start() #print(event.type()) + elif event.type() == QEvent.Type.KeyPress: + if event.key() == 83: + self.media_player.stop() + elif event.key() == 68: + self.media_player.setPosition(self.media_player.position()+5000) + elif event.key() == 65: + self.media_player.setPosition(self.media_player.position()-5000) + elif event.key() == 87: + self.start_video() + elif event.key() == 70: + self.toglefs() + #print(event.key()) return True