diff --git a/customtkinter/__init__.py b/customtkinter/__init__.py index de010d6..b049e9e 100644 --- a/customtkinter/__init__.py +++ b/customtkinter/__init__.py @@ -3,6 +3,7 @@ __version__ = "4.1.0" import os import sys from tkinter.constants import * +from tkinter import StringVar, IntVar, DoubleVar, BooleanVar # import manager classes from .settings import Settings diff --git a/customtkinter/windows/ctk_tk.py b/customtkinter/windows/ctk_tk.py index bb63641..7f2ab3f 100644 --- a/customtkinter/windows/ctk_tk.py +++ b/customtkinter/windows/ctk_tk.py @@ -138,18 +138,7 @@ class CTk(tkinter.Tk): self.current_height = max(self.min_height, min(numbers[1], self.max_height)) def apply_geometry_scaling(self, geometry_string): - numbers = list(map(int, re.split(r"[x+]", geometry_string))) # split geometry string into list of numbers - - if len(numbers) == 2: - return f"{self.apply_window_scaling(numbers[0]):.0f}x" +\ - f"{self.apply_window_scaling(numbers[1]):.0f}" - elif len(numbers) == 4: - return f"{self.apply_window_scaling(numbers[0]):.0f}x" +\ - f"{self.apply_window_scaling(numbers[1]):.0f}+" +\ - f"{self.apply_window_scaling(numbers[2]):.0f}+" +\ - f"{self.apply_window_scaling(numbers[3]):.0f}" - else: - return geometry_string + return re.sub(re.compile("\d+"), lambda match_obj: str(round(int(match_obj.group(0)) * self.window_scaling)), geometry_string) def apply_window_scaling(self, value): if isinstance(value, (int, float)): diff --git a/test/manual_integration_tests/test_optionmenu.py b/test/manual_integration_tests/test_optionmenu.py index 7e58728..c5be41b 100644 --- a/test/manual_integration_tests/test_optionmenu.py +++ b/test/manual_integration_tests/test_optionmenu.py @@ -1,26 +1,26 @@ -from tkinter import * +import tkinter import customtkinter -ws = customtkinter.CTk() -ws.title('PythonGuides') -ws.geometry('400x300') +app = customtkinter.CTk() +app.title('test_optionmenu.py') +app.geometry('400x300') -def display_selected(choice): + +def select_callback(choice): choice = variable.get() print("display_selected", choice) -countries = ['Bahamas','Canada', 'Cuba','United States'] -# setting variable for Integers -variable = StringVar() +countries = ['Bahamas', 'Canada', 'Cuba', 'United States'] + +variable = tkinter.StringVar() variable.set("test") -# creating widget -optionmenu_tk = OptionMenu(ws, variable, *countries, command=display_selected) +optionmenu_tk = tkinter.OptionMenu(app, variable, *countries, command=select_callback) optionmenu_tk.pack(pady=10, padx=10) -optionmenu_1 = customtkinter.CTkOptionMenu(master=ws, variable=variable, values=countries, command=display_selected) +optionmenu_1 = customtkinter.CTkOptionMenu(app, variable=variable, values=countries, command=select_callback) optionmenu_1.pack(pady=10, padx=10) +optionmenu_1.set("te") -# infinite loop -ws.mainloop() +app.mainloop()