mirror of
https://github.com/TomSchimansky/CustomTkinter.git
synced 2023-08-10 21:13:13 +03:00
fixed geometry string scaling
This commit is contained in:
parent
60b13bf215
commit
940ed128bd
@ -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
|
||||
|
@ -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)):
|
||||
|
@ -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()
|
||||
|
Loading…
Reference in New Issue
Block a user