Setting instance data attributes to None in __init__
According to PEP 526, the initializer isn't needed.  Have you tried:
class Window:
    def __init__(self):
        self.image: Optional[Image]    # &lt;== this is just a type hint, no initialization

    def build(self, path):
        self.image = Image(path)

I don't use PyCharm, so I don't know if it would still complain.