from PySide6.QtWidgets import QWidget, QLabel from PySide6.QtGui import QPixmap from typing import final @final class Movie: """ Describes a movie which will be displayed in the GUI. Usage: Movie("Movie name", , "Path to movie cover image") """ def __init__(self, name: str, price: float, image_path: str, description: str): self.name = name self.price = price self.image_path = image_path self.description = description def createImage(filename: str) -> QLabel: """ Creates an image (in form of a QLabel) from a provided filename. The filename must be a path to the image file. It does not have to be an absolute path. """ label = QLabel() pixmap = QPixmap(filename) label.setPixmap(pixmap.scaled(300, 450)) return label """ Dictionary mapping strings (movie ID's) to Movie() objects. """ movies = { "spiderman": Movie("Spider-Man: Very far from home", 39.95, "resources/spiderman.png", "spiderman, spiderman, he's a spider, and he's a man"), "cars2": Movie("Cars 2", 79.95, "resources/cars2.png", "I am speed"), "leo": Movie("The Nerd Movie", -189.95, "resources/leo.png", "Did you know that the quadratic formula is negative b plus or minus square root of b squared minus 4 a c all divided by 2 a"), "hairypotty": Movie("Harry Potter and the Deathly Weapons", 447.95, "resources/hairypotty.png", "Dobby's got a glock") }