Skip to content

Commit ccca822

Browse files
committed
Mark tkinter OptionMenu name as Python 3.14-only
1 parent f39115e commit ccca822

2 files changed

Lines changed: 46 additions & 22 deletions

File tree

stdlib/tkinter/__init__.pyi

Lines changed: 21 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -3729,16 +3729,27 @@ class _setit:
37293729
# manual page: tk_optionMenu
37303730
class OptionMenu(Menubutton):
37313731
menuname: Incomplete
3732-
def __init__(
3733-
# differs from other widgets
3734-
self,
3735-
master: Misc | None,
3736-
variable: StringVar,
3737-
value: str,
3738-
*values: str,
3739-
command: Callable[[StringVar], object] | None = ...,
3740-
name: str | None = None,
3741-
) -> None: ...
3732+
if sys.version_info >= (3, 14):
3733+
def __init__(
3734+
# differs from other widgets
3735+
self,
3736+
master: Misc | None,
3737+
variable: StringVar,
3738+
value: str,
3739+
*values: str,
3740+
command: Callable[[StringVar], object] | None = ...,
3741+
name: str | None = None,
3742+
) -> None: ...
3743+
else:
3744+
def __init__(
3745+
# differs from other widgets
3746+
self,
3747+
master: Misc | None,
3748+
variable: StringVar,
3749+
value: str,
3750+
*values: str,
3751+
command: Callable[[StringVar], object] | None = ...,
3752+
) -> None: ...
37423753
# configure, config, cget are inherited from Menubutton
37433754
# destroy and __getitem__ are overridden, signature does not change
37443755

stdlib/tkinter/ttk.pyi

Lines changed: 25 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1341,18 +1341,31 @@ class LabeledScale(Frame):
13411341
value: Any
13421342

13431343
class OptionMenu(Menubutton):
1344-
def __init__(
1345-
self,
1346-
master: tkinter.Misc | None,
1347-
variable: tkinter.StringVar,
1348-
default: str | None = None,
1349-
*values: str,
1350-
# rest of these are keyword-only because *args syntax used above
1351-
style: str = "",
1352-
direction: Literal["above", "below", "left", "right", "flush"] = "below",
1353-
command: Callable[[tkinter.StringVar], object] | None = None,
1354-
name: str | None = None,
1355-
) -> None: ...
1344+
if sys.version_info >= (3, 14):
1345+
def __init__(
1346+
self,
1347+
master: tkinter.Misc | None,
1348+
variable: tkinter.StringVar,
1349+
default: str | None = None,
1350+
*values: str,
1351+
# rest of these are keyword-only because *args syntax used above
1352+
style: str = "",
1353+
direction: Literal["above", "below", "left", "right", "flush"] = "below",
1354+
command: Callable[[tkinter.StringVar], object] | None = None,
1355+
name: str | None = None,
1356+
) -> None: ...
1357+
else:
1358+
def __init__(
1359+
self,
1360+
master: tkinter.Misc | None,
1361+
variable: tkinter.StringVar,
1362+
default: str | None = None,
1363+
*values: str,
1364+
# rest of these are keyword-only because *args syntax used above
1365+
style: str = "",
1366+
direction: Literal["above", "below", "left", "right", "flush"] = "below",
1367+
command: Callable[[tkinter.StringVar], object] | None = None,
1368+
) -> None: ...
13561369
# configure, config, cget, destroy are inherited from Menubutton
13571370
# destroy and __setitem__ are overridden, signature does not change
13581371
def set_menu(self, default: str | None = None, *values: str) -> None: ...

0 commit comments

Comments
 (0)