mirror of
https://github.com/TomSchimansky/CustomTkinter.git
synced 2023-08-10 21:13:13 +03:00
Compare commits
4 Commits
Author | SHA1 | Date | |
---|---|---|---|
25297c2598 | |||
4e155aedd6 | |||
3a5d34cef6 | |||
e42db49ca5 |
@ -1,4 +1,4 @@
|
|||||||
__version__ = "4.0.3"
|
__version__ = "4.0.4"
|
||||||
|
|
||||||
import os
|
import os
|
||||||
import sys
|
import sys
|
||||||
|
@ -51,7 +51,7 @@ class FontManager:
|
|||||||
return cls.windows_load_font(font_path, private=True, enumerable=False)
|
return cls.windows_load_font(font_path, private=True, enumerable=False)
|
||||||
|
|
||||||
# Linux
|
# Linux
|
||||||
elif sys.platform.startswith("win"):
|
elif sys.platform.startswith("linux"):
|
||||||
try:
|
try:
|
||||||
shutil.copy(font_path, os.path.expanduser("~/.fonts/"))
|
shutil.copy(font_path, os.path.expanduser("~/.fonts/"))
|
||||||
return True
|
return True
|
||||||
|
@ -135,22 +135,30 @@ class CTkBaseClass(tkinter.Frame):
|
|||||||
|
|
||||||
self.draw(no_color_updates=True) # faster drawing without color changes
|
self.draw(no_color_updates=True) # faster drawing without color changes
|
||||||
|
|
||||||
def detect_color_of_master(self):
|
def detect_color_of_master(self, master_widget=None):
|
||||||
""" detect color of self.master widget to set correct bg_color """
|
""" detect color of self.master widget to set correct bg_color """
|
||||||
|
|
||||||
if isinstance(self.master, CTkBaseClass) and hasattr(self.master, "fg_color"): # master is CTkFrame
|
if master_widget is None:
|
||||||
return self.master.fg_color
|
master_widget = self.master
|
||||||
|
|
||||||
elif isinstance(self.master, (ttk.Frame, ttk.LabelFrame, ttk.Notebook)): # master is ttk widget
|
if isinstance(master_widget, CTkBaseClass) and hasattr(master_widget, "fg_color"): # master is CTkFrame
|
||||||
|
if master_widget.fg_color is not None:
|
||||||
|
return master_widget.fg_color
|
||||||
|
|
||||||
|
# if fg_color of master is None, try to retrieve fg_color from master of master
|
||||||
|
elif hasattr(master_widget.master, "master"):
|
||||||
|
return self.detect_color_of_master(self.master.master)
|
||||||
|
|
||||||
|
elif isinstance(master_widget, (ttk.Frame, ttk.LabelFrame, ttk.Notebook)): # master is ttk widget
|
||||||
try:
|
try:
|
||||||
ttk_style = ttk.Style()
|
ttk_style = ttk.Style()
|
||||||
return ttk_style.lookup(self.master.winfo_class(), 'background')
|
return ttk_style.lookup(master_widget.winfo_class(), 'background')
|
||||||
except Exception:
|
except Exception:
|
||||||
return "#FFFFFF", "#000000"
|
return "#FFFFFF", "#000000"
|
||||||
|
|
||||||
else: # master is normal tkinter widget
|
else: # master is normal tkinter widget
|
||||||
try:
|
try:
|
||||||
return self.master.cget("bg") # try to get bg color by .cget() method
|
return master_widget.cget("bg") # try to get bg color by .cget() method
|
||||||
except Exception:
|
except Exception:
|
||||||
return "#FFFFFF", "#000000"
|
return "#FFFFFF", "#000000"
|
||||||
|
|
||||||
|
@ -7,7 +7,7 @@ build-backend = "setuptools.build_meta"
|
|||||||
github_url = "https://github.com/TomSchimansky/CustomTkinter"
|
github_url = "https://github.com/TomSchimansky/CustomTkinter"
|
||||||
|
|
||||||
[tool.tbump.version]
|
[tool.tbump.version]
|
||||||
current = "4.0.3"
|
current = "4.0.4"
|
||||||
|
|
||||||
# Example of a semver regexp.
|
# Example of a semver regexp.
|
||||||
# Make sure this matches current_version before
|
# Make sure this matches current_version before
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
[metadata]
|
[metadata]
|
||||||
name = customtkinter
|
name = customtkinter
|
||||||
version = 4.0.3
|
version = 4.0.4
|
||||||
description = Create modern looking GUIs with Python
|
description = Create modern looking GUIs with Python
|
||||||
long_description = file: README.md
|
long_description = file: README.md
|
||||||
long_description_content_type = text/markdown
|
long_description_content_type = text/markdown
|
||||||
|
Reference in New Issue
Block a user