From 8c20938ba1118a9214265d7b5ae4ce1db4e322a5 Mon Sep 17 00:00:00 2001 From: Rebecca Chen Date: Fri, 13 Nov 2020 11:59:29 -0800 Subject: [PATCH] Add an _Image protocol to tkinter. (#4766) --- stdlib/3/tkinter/__init__.pyi | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/stdlib/3/tkinter/__init__.pyi b/stdlib/3/tkinter/__init__.pyi index dacbd9dd8..6109cd962 100644 --- a/stdlib/3/tkinter/__init__.pyi +++ b/stdlib/3/tkinter/__init__.pyi @@ -95,7 +95,7 @@ _Cursor = Union[str, Tuple[str], Tuple[str, str], Tuple[str, str, str], Tuple[st _EntryValidateCommand = Union[ Callable[[], bool], str, _TkinterSequence[str] ] # example when it's sequence: entry['invalidcommand'] = [entry.register(print), '%P'] -_ImageSpec = Union[Image, str] # str can be from e.g. tkinter.image_names() +_ImageSpec = Union[_Image, str] # str can be from e.g. tkinter.image_names() _Padding = Union[ _ScreenUnits, Tuple[_ScreenUnits], @@ -2831,6 +2831,12 @@ class OptionMenu(Menubutton): # configure, config, cget are inherited from Menubutton # destroy and __getitem__ are overrided, signature does not change +class _Image(Protocol): + tk: _tkinter.TkappType + def __del__(self) -> None: ... + def height(self) -> int: ... + def width(self) -> int: ... + class Image: name: Any tk: _tkinter.TkappType