Complete ttkthemes (#13858)

This commit is contained in:
Semyon Moroz
2025-04-25 12:26:21 +04:00
committed by GitHub
parent 5306a8b9d9
commit 746dbbcc2b
7 changed files with 71 additions and 19 deletions
-1
View File
@@ -90,7 +90,6 @@
"stubs/shapely",
"stubs/tensorflow",
"stubs/tqdm",
"stubs/ttkthemes",
"stubs/vobject",
"stubs/workalendar",
"stubs/wurlitzer",
+1
View File
@@ -977,6 +977,7 @@ class Tk(Misc, Wm):
sync: bool = False,
use: str | None = None,
) -> None: ...
# Keep this in sync with ttktheme.ThemedTk. See issue #13858
@overload
def configure(
self,
+7 -2
View File
@@ -1,2 +1,7 @@
def shift_hue(image, hue): ...
def make_transparent(image): ...
from typing import Any
from typing_extensions import TypeAlias
_Image: TypeAlias = Any # actually PIL.Image, but not worth adding a dependency
def shift_hue(image: _Image, hue: float) -> _Image: ...
def make_transparent(image: _Image) -> _Image: ...
+7 -6
View File
@@ -1,7 +1,8 @@
from _typeshed import Incomplete
from _typeshed import FileDescriptorOrPath, StrOrBytesPath
from contextlib import AbstractContextManager
def temporary_chdir(new_dir) -> None: ...
def get_file_directory(): ...
def get_temp_directory(): ...
def get_themes_directory(theme_name: Incomplete | None = None, png: bool = False): ...
def create_directory(directory): ...
def temporary_chdir(new_dir: FileDescriptorOrPath) -> AbstractContextManager[None]: ...
def get_file_directory() -> str: ...
def get_temp_directory() -> str: ...
def get_themes_directory(theme_name: str | None = None, png: bool = False) -> str: ...
def create_directory(directory: StrOrBytesPath) -> StrOrBytesPath: ...
+1 -1
View File
@@ -7,7 +7,7 @@ class ThemedWidget:
PACKAGES: ClassVar[dict[str, str]]
tk: _tkinter.TkappType
png_support: bool
def __init__(self, tk_interpreter, gif_override: bool = False) -> None: ...
def __init__(self, tk_interpreter: _tkinter.TkappType, gif_override: bool = False) -> None: ...
def set_theme(self, theme_name: str) -> None: ...
def get_themes(self) -> list[str]: ...
@property
+1 -1
View File
@@ -5,7 +5,7 @@ from ._widget import ThemedWidget
class ThemedStyle(ttk.Style, ThemedWidget):
def __init__(
self, master: tkinter.Misc | None = ..., *, theme: str | None = ..., gif_override: bool | None = ..., **kwargs
self, master: tkinter.Misc | None = ..., *, theme: str | None = None, gif_override: bool | None = False
) -> None: ...
# theme_use() can't return None (differs from ttk.Style)
def theme_use(self, theme_name: str | None = None) -> str: ... # type: ignore[override]
+54 -8
View File
@@ -1,5 +1,5 @@
import tkinter
from _typeshed import Incomplete
from typing import Any
from ._widget import ThemedWidget
@@ -21,10 +21,56 @@ class ThemedTk(tkinter.Tk, ThemedWidget):
background: bool | None = ..., # old alias for themebg
gif_override: bool = ...,
) -> None: ...
def set_theme(self, theme_name, toplevel: bool | None = None, themebg: bool | None = None) -> None: ...
# TODO: currently no good way to say "use the same big list of kwargs as parent class but also add these"
def config(self, kw: Incomplete | None = None, **kwargs): ... # type: ignore[override]
def cget(self, k): ...
def configure(self, kw: Incomplete | None = None, **kwargs): ... # type: ignore[override]
def __getitem__(self, k): ...
def __setitem__(self, k, v) -> None: ...
def set_theme(self, theme_name: str, toplevel: bool | None = None, themebg: bool | None = None) -> None: ...
# Keep this in sync with tkinter.Tk
def config( # type: ignore[override]
self,
kw: dict[str, Any] | None = None,
*,
themebg: bool | None = ...,
toplevel: bool | None = ...,
theme: str | None = ...,
background: str = ...,
bd: tkinter._ScreenUnits = ...,
bg: str = ...,
border: tkinter._ScreenUnits = ...,
borderwidth: tkinter._ScreenUnits = ...,
cursor: tkinter._Cursor = ...,
height: tkinter._ScreenUnits = ...,
highlightbackground: str = ...,
highlightcolor: str = ...,
highlightthickness: tkinter._ScreenUnits = ...,
menu: tkinter.Menu = ...,
padx: tkinter._ScreenUnits = ...,
pady: tkinter._ScreenUnits = ...,
relief: tkinter._Relief = ...,
takefocus: tkinter._TakeFocusValue = ...,
width: tkinter._ScreenUnits = ...,
) -> dict[str, tuple[str, str, str, Any, Any]] | None: ...
def cget(self, k: str) -> Any: ...
def configure( # type: ignore[override]
self,
kw: dict[str, Any] | None = None,
*,
themebg: bool | None = ...,
toplevel: bool | None = ...,
theme: str | None = ...,
background: str = ...,
bd: tkinter._ScreenUnits = ...,
bg: str = ...,
border: tkinter._ScreenUnits = ...,
borderwidth: tkinter._ScreenUnits = ...,
cursor: tkinter._Cursor = ...,
height: tkinter._ScreenUnits = ...,
highlightbackground: str = ...,
highlightcolor: str = ...,
highlightthickness: tkinter._ScreenUnits = ...,
menu: tkinter.Menu = ...,
padx: tkinter._ScreenUnits = ...,
pady: tkinter._ScreenUnits = ...,
relief: tkinter._Relief = ...,
takefocus: tkinter._TakeFocusValue = ...,
width: tkinter._ScreenUnits = ...,
) -> dict[str, tuple[str, str, str, Any, Any]] | None: ...
def __getitem__(self, k: str) -> Any: ...
def __setitem__(self, k: str, v: Any) -> None: ...