import abc from ImageProcessingWorker import ImageProcessingWorker from PyQt6.QtWidgets import QApplication, QLabel, QVBoxLayout, QHBoxLayout, QPushButton, QWidget, QFileDialog, QSlider, QLineEdit, QDialog from PyQt6.QtGui import QPixmap, QImage, QColor, QPainter, QPen from PyQt6.QtCore import Qt, QPoint, QThread class ImageParameterDialog(QDialog): def __init__(self, hsv_image): self._hsv_image = hsv_image self.setup_worker() super().__init__() def setup_worker(self): self.worker = ImageProcessingWorker(self._hsv_image, self.process_image) self.update_values_signal = self.worker.update_values self.update_values_signal.connect(self.worker.process_image) self.worker.start() # @abc.abstractmethod def process_image(self,hsv_image, values): pass def result_ready(self): return self.worker.result_ready def send_to_process(self, values): self.update_values_signal.emit(values)