YoutubeDownloader/app/ui/widgets/grid_element.py
Louis Mazin 32a4a157be rebuild
2026-06-28 17:52:15 +02:00

48 lines
1.6 KiB
Python

from PyQt6.QtWidgets import QWidget, QLabel, QVBoxLayout
from PyQt6.QtGui import QPixmap
class GridElement(QWidget):
def __init__(self, parent: QWidget = None, name: str = None, image: str = "", linked_object: object = None) -> None:
super().__init__(parent)
self.image = QPixmap(image)
self.image_path = image
self.name = name
self.linked_object = linked_object
self.setup_ui()
def setup_ui(self) -> None:
layout = QVBoxLayout(self)
self.image_label = QLabel(self)
self.image_label.setPixmap(self.image)
self.name_label = QLabel(self.name, self)
self.name_label.setAccessibleName("ignore")
self.name_label.setObjectName("text_label")
layout.addWidget(self.image_label)
layout.addWidget(self.name_label)
self.set_image_size(70, 70) # Set default image size
def set_image(self, image: str) -> None:
self.image = QPixmap(image)
self.image_path = image
def set_name(self, name: str) -> None:
self.name = name
def set_linked_object(self, linked_object: object) -> None:
self.linked_object = linked_object
def set_image_size(self, width: int, height: int) -> None:
self.image = self.image.scaled(width, height)
self.image_label.setPixmap(self.image)
def get_image(self) -> QPixmap:
return self.image
def get_image_path(self) -> str:
return self.image_path
def get_name(self) -> str:
return self.name
def get_linked_object(self) -> object:
return self.linked_object