Я пытаюсь создать приложение с помощью Tkinter и CustomTkinter, но иногда оно не сообщает, что оно достигло максимальной глубины рекурсии. Ошибка обычно возникает при изменении масштаба вида и реже при открытии новых окон. Следующий пример не работает при изменении масштаба:
Traceback (most recent call last):
File "d:\lib\tkinter\__init__.py", line 1921, in __call__
return self.func(*args)
File "D:\test.py", line 58, in
root.bind("", lambda event, root = root, frames = frames, scrolls = scrolls: rescale(event, root, frames, scrolls))
File "D:\test.py", line 13, in rescale
frames[i].configure(width = width-10,height=(height//3)-30)
File "d:\lib\site-packages\customtkinter\windows\widgets\ctk_frame.py", line 167, in configure
super().configure(require_redraw=require_redraw, **kwargs)
File "d:\lib\site-packages\customtkinter\windows\widgets\core_widget_classes\ctk_base_class.py", line 117, in configure
self._set_dimensions(width=kwargs.pop("width"))
File "d:\lib\site-packages\customtkinter\windows\widgets\ctk_frame.py", line 88, in _set_dimensions
super()._set_dimensions(width, height)
File "d:\lib\site-packages\customtkinter\windows\widgets\core_widget_classes\ctk_base_class.py", line 240, in _set_dimensions
super().configure(width=self._apply_widget_scaling(self._desired_width),
RecursionError: maximum recursion depth exceeded while calling a Python object
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "D:\test.py", line 59, in
root.mainloop()
File "d:\lib\site-packages\customtkinter\windows\ctk_tk.py", line 165, in mainloop
super().mainloop(*args, **kwargs)
File "d:\lib\tkinter\__init__.py", line 1458, in mainloop
self.tk.mainloop(n)
File "d:\lib\tkinter\__init__.py", line 1925, in __call__
self.widget._report_exception()
File "d:\lib\tkinter\__init__.py", line 1641, in _report_exception
root.report_callback_exception(exc, val, tb)
File "d:\lib\tkinter\__init__.py", line 2379, in report_callback_exception
traceback.print_exception(exc, val, tb)
File "d:\lib\traceback.py", line 119, in print_exception
te = TracebackException(type(value), value, tb, limit=limit, compact=True)
File "d:\lib\traceback.py", line 502, in __init__
self.stack = StackSummary.extract(
File "\lib\traceback.py", line 353, in extract
limit = getattr(sys, 'tracebacklimit', None)
RecursionError: maximum recursion depth exceeded while calling a Python object
Я обнаружил, что изменение фреймов.configure(width = width-10,height=(height//3)-35) с помощью фреймов. configure(width = width-10,height=(height//3)-30) работает, обновление занимает много времени, но работает. Также проблема не только в масштабировании как таковом, потому что в проекте у меня есть главное окно, которое открывает другие окна, а также выдает ошибку при создании некоторых из них.
Я нашел еще одну вещь. заключается в том, что если я создаю новую среду conda, проблема решается, загрузка окна все равно занимает много времени, но оно это делает.
Итак, мой вопрос: есть ли способ сделать уверены, что этого не произойдет, если я установлю его в другом месте или скомпилирую в exe?
Я пытаюсь создать приложение с помощью Tkinter и CustomTkinter, но иногда оно не сообщает, что оно достигло максимальной глубины рекурсии. Ошибка обычно возникает при изменении масштаба вида и реже при открытии новых окон. Следующий пример не работает при изменении масштаба: [code]import tkinter as tk from hdpitkinter import HdpiTk import customtkinter as ctk import ctypes
# Base frames creation for i in range(3): frames.append(ctk.CTkFrame(master=root,fg_color="#504F4F", corner_radius=10, width = width-10, height=height/3-46)) # ScrollFrames creation for i in range(6): scrolls.append(ctk.CTkScrollableFrame(master=frames[i%3],fg_color="#504F4F", corner_radius= 10,width = ((width/2)-40))) # Buttons creation button1 = ctk.CTkButton(root, text="button1", font=leftFont, corner_radius=10, fg_color="#1E1E1E", text_color="white", height=40) button2 = ctk.CTkButton(root, text="button2", font=leftFont, corner_radius=10, fg_color="#1E1E1E", text_color="white", height=40) button3 = ctk.CTkButton(root, text="button3", font=leftFont, corner_radius=10, fg_color="#1E1E1E", text_color="white", height=40) # Placing of buttons button1.grid(column = 0, row = 3,pady = 5, padx = 10, sticky="w") button2.grid(column = 1, row = 3,pady = 5, padx = 10, sticky="w") button3.grid(column = 1, row = 3,pady = 5, sticky="e") # Frames placing for i in range(3): frames[i].grid(column= 0, row = i, columnspan=2, padx=3, pady=3,) # Scrolls and labels placing for i in range(3): scrolls[i].grid(row = 0, column=0, padx = 5) scrolls[i+3].grid(row = 0, column=1, padx = 5) # Bind rescale method root.bind("", lambda event, root = root, frames = frames, scrolls = scrolls: rescale(event, root, frames, scrolls)) root.mainloop() [/code] Полная ошибка заключается в следующем: [code]Traceback (most recent call last): File "d:\lib\tkinter\__init__.py", line 1921, in __call__ return self.func(*args) File "D:\test.py", line 58, in root.bind("", lambda event, root = root, frames = frames, scrolls = scrolls: rescale(event, root, frames, scrolls)) File "D:\test.py", line 13, in rescale frames[i].configure(width = width-10,height=(height//3)-30) File "d:\lib\site-packages\customtkinter\windows\widgets\ctk_frame.py", line 167, in configure super().configure(require_redraw=require_redraw, **kwargs) File "d:\lib\site-packages\customtkinter\windows\widgets\core_widget_classes\ctk_base_class.py", line 117, in configure self._set_dimensions(width=kwargs.pop("width")) File "d:\lib\site-packages\customtkinter\windows\widgets\ctk_frame.py", line 88, in _set_dimensions super()._set_dimensions(width, height) File "d:\lib\site-packages\customtkinter\windows\widgets\core_widget_classes\ctk_base_class.py", line 240, in _set_dimensions super().configure(width=self._apply_widget_scaling(self._desired_width), RecursionError: maximum recursion depth exceeded while calling a Python object
During handling of the above exception, another exception occurred:
Traceback (most recent call last): File "D:\test.py", line 59, in root.mainloop() File "d:\lib\site-packages\customtkinter\windows\ctk_tk.py", line 165, in mainloop super().mainloop(*args, **kwargs) File "d:\lib\tkinter\__init__.py", line 1458, in mainloop self.tk.mainloop(n) File "d:\lib\tkinter\__init__.py", line 1925, in __call__ self.widget._report_exception() File "d:\lib\tkinter\__init__.py", line 1641, in _report_exception root.report_callback_exception(exc, val, tb) File "d:\lib\tkinter\__init__.py", line 2379, in report_callback_exception traceback.print_exception(exc, val, tb) File "d:\lib\traceback.py", line 119, in print_exception te = TracebackException(type(value), value, tb, limit=limit, compact=True) File "d:\lib\traceback.py", line 502, in __init__ self.stack = StackSummary.extract( File "\lib\traceback.py", line 353, in extract limit = getattr(sys, 'tracebacklimit', None) RecursionError: maximum recursion depth exceeded while calling a Python object [/code] Я обнаружил, что изменение фреймов[i].configure(width = width-10,height=(height//3)-35) с помощью фреймов[i]. configure(width = width-10,height=(height//3)-30) работает, обновление занимает много времени, но работает. Также проблема не только в масштабировании как таковом, потому что в проекте у меня есть главное окно, которое открывает другие окна, а также выдает ошибку при создании некоторых из них. Я нашел еще одну вещь. заключается в том, что если я создаю новую среду conda, проблема решается, загрузка окна все равно занимает много времени, но оно это делает. Итак, мой вопрос: есть ли способ сделать уверены, что этого не произойдет, если я установлю его в другом месте или скомпилирую в exe?
When I used the auto py to exe module to package Python files into the exe file format, I encountered an error and the program did not contain recursive statements. Why does an error occur: RecursionError: maximum recurrence depth exceeded while...
Я сталкиваюсь с ошибкой Превышена максимальная глубина рекурсии... при попытке удалить одну из встроенных форм в администраторе Django.
Это моя модель:
class Correction_Factors(models.Model):
Я вычисляю передаточную функцию и хочу получить общее уравнение для угла числителя и знаменателя. Код угла знаменателя вызывает ошибку «RecursionError: превышена максимальная глубина рекурсии при вызове объекта Python». Пожалуйста, посмотрите и...
Я вычисляю передаточную функцию и хочу получить общее уравнение для угла числителя и знаменателя. Код угла знаменателя вызывает ошибку «RecursionError: превышена максимальная глубина рекурсии при вызове объекта Python». Пожалуйста, посмотрите и...
Я вычисляю передаточную функцию и хочу получить общее уравнение для угла числителя и знаменателя. Код угла знаменателя вызывает ошибку «RecursionError: превышена максимальная глубина рекурсии при вызове объекта Python». Пожалуйста, посмотрите и...