tkinter: Require passing in a callback function to .after() (#11013)

This commit is contained in:
Akuli
2023-11-10 20:18:25 +02:00
committed by GitHub
parent cc0b41a994
commit cad0c04ec0
2 changed files with 3 additions and 3 deletions

View File

@@ -347,9 +347,8 @@ class Misc:
def tk_focusFollowsMouse(self) -> None: ...
def tk_focusNext(self) -> Misc | None: ...
def tk_focusPrev(self) -> Misc | None: ...
@overload
def after(self, ms: int, func: None = None) -> None: ...
@overload
# .after() can be called without the "func" argument, but it is basically never what you want.
# It behaves like time.sleep() and freezes the GUI app.
def after(self, ms: int | Literal["idle"], func: Callable[..., object], *args: Any) -> str: ...
# after_idle is essentially partialmethod(after, "idle")
def after_idle(self, func: Callable[..., object], *args: Any) -> str: ...

View File

@@ -123,6 +123,7 @@ tkinter.simpledialog.TkVersion
tkinter.tix.[A-Z_]+
tkinter.tix.TclVersion
tkinter.tix.TkVersion
tkinter.Misc.after # we intentionally don't allow everything that "works" at runtime
traceback.TracebackException.from_exception # explicitly expanding arguments going into TracebackException __init__
typing(_extensions)?\.IO\.__next__ # Added because IO streams are iterable. See https://github.com/python/typeshed/commit/97bc450acd60c1bcdafef3ce8fbe3b95a9c0cac3
typing.type_check_only # typing decorator that is not available at runtime