mirror of
https://github.com/TomSchimansky/CustomTkinter.git
synced 2023-08-10 21:13:13 +03:00
added different default color themes
This commit is contained in:
parent
2fa7a519ea
commit
daf64a12b4
@ -55,26 +55,5 @@ def get_appearance_mode():
|
||||
return "Dark"
|
||||
|
||||
|
||||
def deactivate_threading():
|
||||
AppearanceModeTracker.init_listener_function(no_thread=True)
|
||||
sys.stderr.write("WARNING (customtkinter.deactivate_threading): Automatic threaded search for a change of the " +
|
||||
"system appearance mode is deativated now.\nYou have to update the appearance mode manually " +
|
||||
"in your mainloop by calling customtkinter.update_appearance_mode() every time.\n")
|
||||
|
||||
|
||||
def activate_threading():
|
||||
AppearanceModeTracker.init_listener_function()
|
||||
|
||||
|
||||
def update_appearance_mode():
|
||||
if isinstance(AppearanceModeTracker.system_mode_listener, SystemAppearanceModeListenerNoThread):
|
||||
AppearanceModeTracker.system_mode_listener.update()
|
||||
else:
|
||||
sys.stderr.write("WARNING (customtkinter.update_theme): no need to call update_appearance_mode, because " +
|
||||
"customtkinter is constantly searching for a mode change in a background thread.\n")
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
def set_default_color_theme(color_string):
|
||||
CTkColorManager.initialize_color_theme(color_string)
|
||||
|
@ -13,8 +13,8 @@ class CTkButton(tkinter.Frame):
|
||||
|
||||
def __init__(self,
|
||||
bg_color=None,
|
||||
fg_color=CTkColorManager.MAIN,
|
||||
hover_color=CTkColorManager.MAIN_HOVER,
|
||||
fg_color="CTkColorManager",
|
||||
hover_color="CTkColorManager",
|
||||
border_color=None,
|
||||
border_width=0,
|
||||
command=None,
|
||||
@ -22,7 +22,7 @@ class CTkButton(tkinter.Frame):
|
||||
height=30,
|
||||
corner_radius=8,
|
||||
text_font=None,
|
||||
text_color=CTkColorManager.TEXT,
|
||||
text_color="CTkColorManager",
|
||||
text="CTkButton",
|
||||
hover=True,
|
||||
image=None,
|
||||
@ -58,8 +58,8 @@ class CTkButton(tkinter.Frame):
|
||||
self.configure_basic_grid()
|
||||
|
||||
self.bg_color = self.detect_color_of_master() if bg_color is None else bg_color
|
||||
self.fg_color = fg_color
|
||||
self.hover_color = self.fg_color if hover_color is None else hover_color
|
||||
self.fg_color = CTkColorManager.MAIN if fg_color == "CTkColorManager" else fg_color
|
||||
self.hover_color = CTkColorManager.MAIN_HOVER if hover_color == "CTkColorManager" else hover_color
|
||||
self.border_color = border_color
|
||||
|
||||
self.width = width
|
||||
@ -80,7 +80,7 @@ class CTkButton(tkinter.Frame):
|
||||
self.inner_corner_radius = 0
|
||||
|
||||
self.text = text
|
||||
self.text_color = text_color
|
||||
self.text_color = CTkColorManager.TEXT if text_color == "CTkColorManager" else text_color
|
||||
if text_font is None:
|
||||
if sys.platform == "darwin": # macOS
|
||||
self.text_font = ("Avenir", 13)
|
||||
@ -516,18 +516,23 @@ class CTkButton(tkinter.Frame):
|
||||
|
||||
def on_enter(self, event=0):
|
||||
if self.hover is True:
|
||||
if self.hover_color is None:
|
||||
inner_parts_color = self.fg_color
|
||||
else:
|
||||
inner_parts_color = self.hover_color
|
||||
|
||||
# set color of inner button parts to hover color
|
||||
self.canvas.itemconfig("inner_parts",
|
||||
outline=CTkColorManager.single_color(self.hover_color, self.appearance_mode),
|
||||
fill=CTkColorManager.single_color(self.hover_color, self.appearance_mode))
|
||||
outline=CTkColorManager.single_color(inner_parts_color, self.appearance_mode),
|
||||
fill=CTkColorManager.single_color(inner_parts_color, self.appearance_mode))
|
||||
|
||||
# set text_label bg color to button hover color
|
||||
if self.text_label is not None:
|
||||
self.text_label.configure(bg=CTkColorManager.single_color(self.hover_color, self.appearance_mode))
|
||||
self.text_label.configure(bg=CTkColorManager.single_color(inner_parts_color, self.appearance_mode))
|
||||
|
||||
# set image_label bg color to button hover color
|
||||
if self.image_label is not None:
|
||||
self.image_label.configure(bg=CTkColorManager.single_color(self.hover_color, self.appearance_mode))
|
||||
self.image_label.configure(bg=CTkColorManager.single_color(inner_parts_color, self.appearance_mode))
|
||||
|
||||
def on_leave(self, event=0):
|
||||
if self.hover is True:
|
||||
|
@ -12,15 +12,15 @@ class CTkCheckBox(tkinter.Frame):
|
||||
|
||||
def __init__(self,
|
||||
bg_color=None,
|
||||
fg_color=CTkColorManager.MAIN,
|
||||
hover_color=CTkColorManager.MAIN_HOVER,
|
||||
border_color=CTkColorManager.CHECKBOX_LINES,
|
||||
fg_color="CTkColorManager",
|
||||
hover_color="CTkColorManager",
|
||||
border_color="CTkColorManager",
|
||||
border_width=3,
|
||||
width=25,
|
||||
height=25,
|
||||
corner_radius=4,
|
||||
text_font=None,
|
||||
text_color=CTkColorManager.TEXT,
|
||||
text_color="CTkColorManager",
|
||||
text="CTkCheckBox",
|
||||
hover=True,
|
||||
command=None,
|
||||
@ -53,9 +53,9 @@ class CTkCheckBox(tkinter.Frame):
|
||||
self.appearance_mode = AppearanceModeTracker.get_mode() # 0: "Light" 1: "Dark"
|
||||
|
||||
self.bg_color = self.detect_color_of_master() if bg_color is None else bg_color
|
||||
self.fg_color = CTkColorManager.MAIN if fg_color is None else fg_color
|
||||
self.hover_color = CTkColorManager.MAIN_HOVER if hover_color is None else hover_color
|
||||
self.border_color = border_color
|
||||
self.fg_color = CTkColorManager.MAIN if fg_color == "CTkColorManager" else fg_color
|
||||
self.hover_color = CTkColorManager.MAIN_HOVER if hover_color == "CTkColorManager" else hover_color
|
||||
self.border_color = CTkColorManager.CHECKBOX_LINES if border_color == "CTkColorManager" else border_color
|
||||
|
||||
self.width = width
|
||||
self.height = height
|
||||
@ -74,7 +74,7 @@ class CTkCheckBox(tkinter.Frame):
|
||||
self.inner_corner_radius = 0
|
||||
|
||||
self.text = text
|
||||
self.text_color = text_color
|
||||
self.text_color = CTkColorManager.TEXT if text_color == "CTkColorManager" else text_color
|
||||
if text_font is None:
|
||||
if sys.platform == "darwin": # macOS
|
||||
self.text_font = ("Avenir", 13)
|
||||
|
@ -3,18 +3,68 @@ import sys
|
||||
|
||||
class CTkColorManager:
|
||||
|
||||
WINDOW_BG = ("#ECECEC", "#323232") # macOS standard light and dark window bg colors
|
||||
MAIN = ("#1C94CF", "#1C94CF")
|
||||
MAIN_HOVER = ("#5FB4DD", "#5FB4DD")
|
||||
ENTRY = ("white", "#222222")
|
||||
TEXT = ("black", "white")
|
||||
SLIDER_BG = ("#6B6B6B", "#222222")
|
||||
PROGRESS_BG = ("#6B6B6B", "#222222")
|
||||
FRAME = ("#D4D5D6", "#3F3F3F")
|
||||
FRAME_2 = ("#BFBEC1", "#505050")
|
||||
CHECKBOX_LINES = ("black", "#ededed")
|
||||
WINDOW_BG = None
|
||||
MAIN = None
|
||||
MAIN_HOVER = None
|
||||
ENTRY = None
|
||||
TEXT = None
|
||||
LABEL_BG = None
|
||||
SLIDER_BG = None
|
||||
SLIDER_PROGRESS = None
|
||||
PROGRESS_BG = None
|
||||
FRAME = None
|
||||
FRAME_2 = None
|
||||
CHECKBOX_LINES = None
|
||||
DARKEN_COLOR_FACTOR = None
|
||||
|
||||
DARKEN_COLOR_FACTOR = 0.8 # used to generate color for disabled button
|
||||
@classmethod
|
||||
def initialize_color_theme(cls, theme_name):
|
||||
print("set theme", theme_name)
|
||||
|
||||
if theme_name.lower() == "blue":
|
||||
cls.WINDOW_BG = ("#ECECEC", "#323232") # macOS standard light and dark window bg colors
|
||||
cls.MAIN = ("#1C94CF", "#1C94CF")
|
||||
cls.MAIN_HOVER = ("#5FB4DD", "#5FB4DD")
|
||||
cls.ENTRY = ("white", "#222222")
|
||||
cls.TEXT = ("black", "white")
|
||||
cls.LABEL_BG = ("white", "#626061")
|
||||
cls.SLIDER_BG = ("#6B6B6B", "#222222")
|
||||
cls.SLIDER_PROGRESS = ("#A5A6A5", "#555555")
|
||||
cls.PROGRESS_BG = ("#6B6B6B", "#222222")
|
||||
cls.FRAME = ("#D4D5D6", "#3F3F3F")
|
||||
cls.FRAME_2 = ("#BFBEC1", "#505050")
|
||||
cls.CHECKBOX_LINES = ("black", "#ededed")
|
||||
cls.DARKEN_COLOR_FACTOR = 0.8 # used to generate color for disabled button
|
||||
|
||||
elif theme_name.lower() == "green":
|
||||
cls.WINDOW_BG = ("#ECECEC", "#323232") # macOS standard light and dark window bg colors
|
||||
cls.MAIN = ("#29B57E", "#29B57E")
|
||||
cls.MAIN_HOVER = ("#6ACBA5", "#6ACBA5")
|
||||
cls.ENTRY = ("#656565", "#222223")
|
||||
cls.TEXT = ("black", "white")
|
||||
cls.LABEL_BG = ("white", "#626061")
|
||||
cls.SLIDER_BG = ("#636363", "#0D1321")
|
||||
cls.SLIDER_PROGRESS = ("white", "#727578")
|
||||
cls.PROGRESS_BG = ("#636363", "#0D1321")
|
||||
cls.FRAME = ("#D4D5D6", "#3F3F3F")
|
||||
cls.FRAME_2 = ("#BFBEC1", "#505050")
|
||||
cls.CHECKBOX_LINES = ("#414141", "#EDEDED")
|
||||
cls.DARKEN_COLOR_FACTOR = 0.8 # used to generate color for disabled button
|
||||
|
||||
elif theme_name.lower() == "dark-blue":
|
||||
cls.WINDOW_BG = ("#F1F1F1", "#192026") # macOS standard light and dark window bg colors
|
||||
cls.MAIN = ("#608BD5", "#395E9C")
|
||||
cls.MAIN_HOVER = ("#A4BDE6", "#748BB3")
|
||||
cls.ENTRY = ("#FCFCFC", "#111116")
|
||||
cls.TEXT = ("black", "white")
|
||||
cls.LABEL_BG = ("white", "#444444")
|
||||
cls.SLIDER_BG = ("#444444", "#444444")
|
||||
cls.SLIDER_PROGRESS = ("white", "#AAAAAA")
|
||||
cls.PROGRESS_BG = ("#636363", "#0D1321")
|
||||
cls.FRAME = ("#DADADA", "#2B2C2E")
|
||||
cls.FRAME_2 = ("#C4C4C4", "#383838")
|
||||
cls.CHECKBOX_LINES = ("#313131", "white")
|
||||
cls.DARKEN_COLOR_FACTOR = 0.8 # used to generate color for disabled button
|
||||
|
||||
@staticmethod
|
||||
def single_color(color, appearance_mode: int) -> str:
|
||||
@ -48,17 +98,9 @@ class CTkColorManager:
|
||||
return hex_color
|
||||
|
||||
@classmethod
|
||||
def set_theme_color(cls, hex_color: str, hex_color_hover: str):
|
||||
cls.MAIN = hex_color
|
||||
cls.MAIN_HOVER = hex_color_hover
|
||||
def set_main_color(cls, main_color, main_color_hover):
|
||||
cls.MAIN = main_color
|
||||
cls.MAIN_HOVER = main_color_hover
|
||||
|
||||
@classmethod
|
||||
def set_theme(cls, main_color: str):
|
||||
if main_color.lower() == "green":
|
||||
cls.set_theme_color("#2EDEA4", "#82FCD4")
|
||||
|
||||
elif main_color.lower() == "blue":
|
||||
cls.set_theme_color("#1C94CF", "#5FB4DD")
|
||||
|
||||
else:
|
||||
sys.stderr.write("WARNING (CTkColorManager): No such color theme available: {}\n".format(main_color))
|
||||
CTkColorManager.initialize_color_theme("blue")
|
||||
|
@ -12,8 +12,8 @@ class CTkDialog:
|
||||
master=None,
|
||||
title="CTkDialog",
|
||||
text="CTkDialog",
|
||||
fg_color=CTkColorManager.MAIN,
|
||||
hover_color=CTkColorManager.MAIN_HOVER):
|
||||
fg_color="CTkColorManager",
|
||||
hover_color="CTkColorManager"):
|
||||
self.master = master
|
||||
|
||||
self.user_input = None
|
||||
@ -21,8 +21,8 @@ class CTkDialog:
|
||||
|
||||
self.height = len(text.split("\n"))*20 + 150
|
||||
|
||||
self.fg_color = CTkColorManager.MAIN if fg_color is None else fg_color
|
||||
self.hover_color = CTkColorManager.MAIN_HOVER if hover_color is None else hover_color
|
||||
self.fg_color = CTkColorManager.MAIN if fg_color == "CTkColorManager" else fg_color
|
||||
self.hover_color = CTkColorManager.MAIN_HOVER if hover_color == "CTkColorManager" else hover_color
|
||||
|
||||
self.top = tkinter.Toplevel()
|
||||
self.top.geometry(f"280x{self.height}")
|
||||
|
@ -11,8 +11,8 @@ class CTkEntry(tkinter.Frame):
|
||||
def __init__(self,
|
||||
master=None,
|
||||
bg_color=None,
|
||||
fg_color=CTkColorManager.ENTRY,
|
||||
text_color=CTkColorManager.TEXT,
|
||||
fg_color="CTkColorManager",
|
||||
text_color="CTkColorManager",
|
||||
corner_radius=8,
|
||||
width=120,
|
||||
height=30,
|
||||
@ -45,8 +45,8 @@ class CTkEntry(tkinter.Frame):
|
||||
self.appearance_mode = AppearanceModeTracker.get_mode() # 0: "Light" 1: "Dark"
|
||||
|
||||
self.bg_color = self.detect_color_of_master() if bg_color is None else bg_color
|
||||
self.fg_color = self.bg_color if fg_color is None else fg_color
|
||||
self.text_color = text_color
|
||||
self.fg_color = CTkColorManager.ENTRY if fg_color == "CTkColorManager" else fg_color
|
||||
self.text_color = CTkColorManager.TEXT if text_color == "CTkColorManager" else text_color
|
||||
|
||||
self.width = width
|
||||
self.height = height
|
||||
|
@ -9,7 +9,7 @@ from .customtkinter_color_manager import CTkColorManager
|
||||
class CTkFrame(tkinter.Frame):
|
||||
def __init__(self, *args,
|
||||
bg_color=None,
|
||||
fg_color=None,
|
||||
fg_color="CTkColorManager",
|
||||
corner_radius=10,
|
||||
width=200,
|
||||
height=200,
|
||||
@ -42,7 +42,7 @@ class CTkFrame(tkinter.Frame):
|
||||
|
||||
self.bg_color = self.detect_color_of_master() if bg_color is None else bg_color
|
||||
|
||||
if fg_color is None:
|
||||
if fg_color == "CTkColorManager":
|
||||
if isinstance(self.master, CTkFrame):
|
||||
if self.master.fg_color == CTkColorManager.FRAME:
|
||||
self.fg_color = CTkColorManager.FRAME_2
|
||||
|
@ -11,8 +11,8 @@ class CTkLabel(tkinter.Frame):
|
||||
def __init__(self,
|
||||
master=None,
|
||||
bg_color=None,
|
||||
fg_color=None,
|
||||
text_color=CTkColorManager.TEXT,
|
||||
fg_color="CTkColorManager",
|
||||
text_color="CTkColorManager",
|
||||
corner_radius=8,
|
||||
width=120,
|
||||
height=25,
|
||||
@ -47,8 +47,8 @@ class CTkLabel(tkinter.Frame):
|
||||
self.appearance_mode = AppearanceModeTracker.get_mode() # 0: "Light" 1: "Dark"
|
||||
|
||||
self.bg_color = self.detect_color_of_master() if bg_color is None else bg_color
|
||||
self.fg_color = self.bg_color if fg_color is None else fg_color
|
||||
self.text_color = text_color
|
||||
self.fg_color = CTkColorManager.LABEL_BG if fg_color == "CTkColorManager" else fg_color
|
||||
self.text_color = CTkColorManager.TEXT if text_color == "CTkColorManager" else text_color
|
||||
|
||||
self.width = width
|
||||
self.height = height
|
||||
@ -153,21 +153,26 @@ class CTkLabel(tkinter.Frame):
|
||||
else:
|
||||
self.canvas.configure(bg=self.bg_color)
|
||||
|
||||
if self.fg_color is None:
|
||||
new_fg_color = self.bg_color
|
||||
else:
|
||||
new_fg_color = self.fg_color
|
||||
|
||||
for part in self.fg_parts:
|
||||
if type(self.fg_color) == tuple:
|
||||
self.canvas.itemconfig(part, fill=self.fg_color[self.appearance_mode], width=0)
|
||||
if type(new_fg_color) == tuple:
|
||||
self.canvas.itemconfig(part, fill=new_fg_color[self.appearance_mode], width=0)
|
||||
else:
|
||||
self.canvas.itemconfig(part, fill=self.fg_color, width=0)
|
||||
self.canvas.itemconfig(part, fill=new_fg_color, width=0)
|
||||
|
||||
if type(self.text_color) == tuple:
|
||||
self.text_label.configure(fg=self.text_color[self.appearance_mode])
|
||||
else:
|
||||
self.text_label.configure(fg=self.text_color)
|
||||
|
||||
if type(self.fg_color) == tuple:
|
||||
self.text_label.configure(bg=self.fg_color[self.appearance_mode])
|
||||
if type(new_fg_color) == tuple:
|
||||
self.text_label.configure(bg=new_fg_color[self.appearance_mode])
|
||||
else:
|
||||
self.text_label.configure(bg=self.fg_color)
|
||||
self.text_label.configure(bg=new_fg_color)
|
||||
|
||||
def config(self, *args, **kwargs):
|
||||
self.configure(*args, **kwargs)
|
||||
|
@ -12,9 +12,9 @@ class CTkProgressBar(tkinter.Frame):
|
||||
|
||||
def __init__(self,
|
||||
bg_color=None,
|
||||
border_color=CTkColorManager.PROGRESS_BG,
|
||||
fg_color=CTkColorManager.PROGRESS_BG,
|
||||
progress_color=CTkColorManager.MAIN,
|
||||
border_color="CTkColorManager",
|
||||
fg_color="CTkColorManager",
|
||||
progress_color="CTkColorManager",
|
||||
width=160,
|
||||
height=10,
|
||||
border_width=0,
|
||||
@ -46,9 +46,9 @@ class CTkProgressBar(tkinter.Frame):
|
||||
self.appearance_mode = AppearanceModeTracker.get_mode() # 0: "Light" 1: "Dark"
|
||||
|
||||
self.bg_color = self.detect_color_of_master() if bg_color is None else bg_color
|
||||
self.border_color = border_color
|
||||
self.fg_color = fg_color
|
||||
self.progress_color = CTkColorManager.MAIN if progress_color is None else progress_color
|
||||
self.border_color = CTkColorManager.PROGRESS_BG if border_color == "CTkColorManager" else border_color
|
||||
self.fg_color = CTkColorManager.PROGRESS_BG if fg_color == "CTkColorManager" else fg_color
|
||||
self.progress_color = CTkColorManager.MAIN if progress_color == "CTkColorManager" else progress_color
|
||||
|
||||
self.width = width
|
||||
self.height = self.calc_optimal_height(height)
|
||||
|
@ -13,10 +13,10 @@ class CTkSlider(tkinter.Frame):
|
||||
def __init__(self,
|
||||
bg_color=None,
|
||||
border_color=None,
|
||||
fg_color=CTkColorManager.SLIDER_BG,
|
||||
progress_color=None,
|
||||
button_color=CTkColorManager.MAIN,
|
||||
button_hover_color=CTkColorManager.MAIN_HOVER,
|
||||
fg_color="CTkColorManager",
|
||||
progress_color="CTkColorManager",
|
||||
button_color="CTkColorManager",
|
||||
button_hover_color="CTkColorManager",
|
||||
from_=0,
|
||||
to=1,
|
||||
number_of_steps=None,
|
||||
@ -53,10 +53,10 @@ class CTkSlider(tkinter.Frame):
|
||||
|
||||
self.bg_color = self.detect_color_of_master() if bg_color is None else bg_color
|
||||
self.border_color = border_color
|
||||
self.fg_color = fg_color
|
||||
self.progress_color = progress_color
|
||||
self.button_color = self.bg_color if button_color is None else button_color
|
||||
self.button_hover_color = self.bg_color if button_hover_color is None else button_hover_color
|
||||
self.fg_color = CTkColorManager.SLIDER_BG if fg_color == "CTkColorManager" else fg_color
|
||||
self.progress_color = CTkColorManager.SLIDER_PROGRESS if progress_color == "CTkColorManager" else progress_color
|
||||
self.button_color = CTkColorManager.MAIN if button_color == "CTkColorManager" else button_color
|
||||
self.button_hover_color = CTkColorManager.MAIN if button_hover_color == "CTkColorManager" else button_hover_color
|
||||
|
||||
self.width = width
|
||||
self.height = self.calc_optimal_height(height)
|
||||
|
@ -10,13 +10,14 @@ from .customtkinter_color_manager import CTkColorManager
|
||||
|
||||
class CTk(tkinter.Tk):
|
||||
def __init__(self, *args,
|
||||
fg_color=CTkColorManager.WINDOW_BG,
|
||||
fg_color="CTkColorManager",
|
||||
**kwargs):
|
||||
|
||||
self.enable_macos_dark_title_bar()
|
||||
self.appearance_mode = AppearanceModeTracker.get_mode() # 0: "Light" 1: "Dark"
|
||||
|
||||
self.fg_color = fg_color
|
||||
self.fg_color = CTkColorManager.WINDOW_BG if fg_color == "CTkColorManager" else fg_color
|
||||
|
||||
if "bg" in kwargs:
|
||||
self.fg_color = kwargs["bg"]
|
||||
del kwargs["bg"]
|
||||
|
@ -4,6 +4,7 @@ import customtkinter
|
||||
import sys
|
||||
|
||||
customtkinter.set_appearance_mode("System") # Other: "Light", "Dark"
|
||||
customtkinter.set_default_color_theme("dark-blue") # Themes: "blue" (standard), "green", "dark-blue"
|
||||
|
||||
|
||||
class App(customtkinter.CTk):
|
||||
@ -114,13 +115,13 @@ class App(customtkinter.CTk):
|
||||
width=160,
|
||||
height=16,
|
||||
border_width=5,
|
||||
progress_color=("gray65", "gray40"),
|
||||
command=self.progressbar.set)
|
||||
self.slider_2.place(x=20, rely=0.7, anchor=tkinter.W)
|
||||
self.slider_2.set(0.7)
|
||||
|
||||
self.label_info_2 = customtkinter.CTkLabel(master=self.frame_right,
|
||||
text="CTkLabel: Lorem ipsum",
|
||||
fg_color=None,
|
||||
width=180,
|
||||
height=20,
|
||||
justify=tkinter.CENTER)
|
||||
|
@ -131,6 +131,7 @@ class App(customtkinter.CTk):
|
||||
|
||||
self.label_info_2 = customtkinter.CTkLabel(master=self.frame_right,
|
||||
text="CTkLabel: Lorem ipsum",
|
||||
fg_color=None,
|
||||
width=180,
|
||||
height=20,
|
||||
justify=tkinter.CENTER)
|
||||
|
@ -5,6 +5,7 @@ from PIL import Image, ImageTk
|
||||
import os
|
||||
|
||||
customtkinter.set_appearance_mode("Dark") # Other: "Light", "System"
|
||||
customtkinter.set_default_color_theme("blue") # Themes: "blue" (standard), "green", "dark-blue"
|
||||
|
||||
PATH = os.path.dirname(os.path.realpath(__file__))
|
||||
|
||||
|
@ -2,12 +2,13 @@ import time
|
||||
import tkinter
|
||||
import customtkinter # <- import the CustomTkinter module
|
||||
|
||||
customtkinter.set_appearance_mode("System") # Other: "Dark", "Light"
|
||||
customtkinter.set_default_color_theme("blue") # Themes: "blue" (standard), "green", "dark-blue"
|
||||
|
||||
root_tk = customtkinter.CTk() # create CTk window like you do with the Tk window (you can also use normal tkinter.Tk window)
|
||||
root_tk.geometry("400x300")
|
||||
root_tk.title("CustomTkinter Test")
|
||||
|
||||
customtkinter.set_appearance_mode("System") # Other: "Dark", "Light"
|
||||
|
||||
|
||||
def button_function():
|
||||
print("Button click")
|
||||
@ -34,9 +35,9 @@ button_1 = customtkinter.CTkButton(master=frame_1, corner_radius=10, command=but
|
||||
button_1.place(relx=0.5, rely=0.4, anchor=tkinter.CENTER)
|
||||
# button_1.configure(state="disabled")
|
||||
|
||||
slider_1 = customtkinter.CTkSlider(master=frame_1, command=slider_function, from_=0, to=1, progress_color="gray20")
|
||||
slider_1 = customtkinter.CTkSlider(master=frame_1, command=slider_function, from_=0, to=1)
|
||||
slider_1.place(relx=0.5, rely=0.55, anchor=tkinter.CENTER)
|
||||
slider_1.set(1.5)
|
||||
slider_1.set(0.5)
|
||||
|
||||
entry_1 = customtkinter.CTkEntry(master=frame_1)
|
||||
entry_1.place(relx=0.5, rely=0.75, anchor=tkinter.CENTER)
|
||||
|
@ -6,6 +6,7 @@ import os
|
||||
PATH = os.path.dirname(os.path.realpath(__file__))
|
||||
|
||||
customtkinter.set_appearance_mode("System") # Other: "Dark", "Light"
|
||||
customtkinter.set_default_color_theme("blue") # Themes: "blue" (standard), "green", "dark-blue"
|
||||
|
||||
root_tk = customtkinter.CTk() # create CTk window like you do with the Tk window (you can also use normal tkinter.Tk window)
|
||||
root_tk.geometry("400x400")
|
||||
|
Loading…
Reference in New Issue
Block a user