aboutsummaryrefslogtreecommitdiffstats
path: root/examples/multimedia/screencapture
diff options
context:
space:
mode:
authorFriedemann Kleint <Friedemann.Kleint@qt.io>2024-04-09 10:40:24 +0200
committerFriedemann Kleint <Friedemann.Kleint@qt.io>2024-04-10 14:49:18 +0200
commit39449c4d63f125c65bb0559d732a3c2859d9878b (patch)
tree643f399f24277565c0c026d9a1e1b25aea84d49b /examples/multimedia/screencapture
parentab4488b000198e35ef8ea91f4b6b915d140435cb (diff)
Multimedia/capture example: Fix message box flood on error
Replace the message box by a status label. Pick-to: 6.7 Change-Id: Ic046e3a7b9c818079760aef90cce3f6a42baf1f0 Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
Diffstat (limited to 'examples/multimedia/screencapture')
-rw-r--r--examples/multimedia/screencapture/screencapturepreview.py19
1 files changed, 15 insertions, 4 deletions
diff --git a/examples/multimedia/screencapture/screencapturepreview.py b/examples/multimedia/screencapture/screencapturepreview.py
index 3f75a0601..c7e0c596a 100644
--- a/examples/multimedia/screencapture/screencapturepreview.py
+++ b/examples/multimedia/screencapture/screencapturepreview.py
@@ -34,6 +34,7 @@ class ScreenCapturePreview(QWidget):
self._screen_label = QLabel("Select screen to capture:", self)
self._video_widget_label = QLabel("Capture output:", self)
self._start_stop_button = QPushButton(self)
+ self._status_label = QLabel(self)
self._screen_list_model = ScreenListModel(self)
@@ -65,6 +66,7 @@ class ScreenCapturePreview(QWidget):
grid_layout.addWidget(self._video_widget, 1, 1, 4, 1)
grid_layout.addWidget(self._window_label, 2, 0)
grid_layout.addWidget(self._window_list_view, 3, 0)
+ grid_layout.addWidget(self._status_label, 5, 0, 1, 2)
grid_layout.setColumnStretch(1, 1)
grid_layout.setRowStretch(1, 1)
@@ -86,6 +88,7 @@ class ScreenCapturePreview(QWidget):
@Slot(QItemSelection)
def on_current_screen_selection_changed(self, selection):
+ self.clear_error_string()
indexes = selection.indexes()
if indexes:
self._screen_capture.setScreen(self._screen_list_model.screen(indexes[0]))
@@ -96,6 +99,7 @@ class ScreenCapturePreview(QWidget):
@Slot(QItemSelection)
def on_current_window_selection_changed(self, selection):
+ self.clear_error_string()
indexes = selection.indexes()
if indexes:
window = self._window_list_model.window(indexes[0])
@@ -115,16 +119,23 @@ class ScreenCapturePreview(QWidget):
@Slot(QWindowCapture.Error, str)
def on_window_capture_error_occured(self, error, error_string):
- QMessageBox.warning(self, "QWindowCapture: Error occurred",
- error_string)
+ self.set_error_string("QWindowCapture: Error occurred " + error_string)
@Slot(QScreenCapture.Error, str)
def on_screen_capture_error_occured(self, error, error_string):
- QMessageBox.warning(self, "QScreenCapture: Error occurred",
- error_string)
+ self.set_error_string("QScreenCapture: Error occurred " + error_string)
+
+ def set_error_string(self, t):
+ self._status_label.setStyleSheet("background-color: rgb(255, 0, 0);")
+ self._status_label.setText(t)
+
+ def clear_error_string(self):
+ self._status_label.clear()
+ self._status_label.setStyleSheet("")
@Slot()
def on_start_stop_button_clicked(self):
+ self.clear_error_string()
self.update_active(self._source_type, not self.is_active())
def update_start_stop_button_text(self):