Мне нужна помощь, чтобы найти ошибку или ошибку в проекте кода Python tkinter [закрыто]Python

Программы на Python
Ответить
Anonymous
 Мне нужна помощь, чтобы найти ошибку или ошибку в проекте кода Python tkinter [закрыто]

Сообщение Anonymous »

Ссылка
Это проект кода, над которым я работал. Я создавал область диаграммы для сортировки каждой вкладки, но это не сработало.
Интересно, есть ли проблемы с этой функцией:

Код: Выделить всё

def run_sorting_algorithm(selected_algo, data, chart_area, thread_id):
global pause_event, stop_event

print(f"Running {selected_algo} on Tab {thread_id}")
# start_time = time.time()
sort_algorithms = {
"Merge Sort": lambda: merge_sort(data, 0, len(data) - 1, chart_area),
"Quick Sort": lambda: quick_sort(data, 0, len(data) - 1, chart_area),
"Selection Sort": lambda: selection_sort(data, chart_area),
"Bubble Sort": lambda: bubble_sort(data, chart_area),
"Insertion Sort": lambda: insert_sort(data, chart_area),
}

try:
while pause_event.is_set:
time.sleep(0.1)
if not stop_event.is_set():
sort_algorithms[selected_algo]()
except Exception as e:
print(f"Error in thread {thread_id}: {e}")

def start_all_tabs_sorting():
pause_event.clear()
stop_event.clear()
global threads
threads = []

if not data:
status_label.config(text="No Data to Sort!", fg="red")
return

algorithms = [
(algo_dropdown1.get(), data.copy(), chart_area_tab1),
]

for idx, (algo, data_copy, chart_area) in enumerate(algorithms):
thread = threading.Thread(
target=run_sorting_algorithm,
args=(algo, data_copy, chart_area, idx + 1),
)
threads.append(thread)
thread.start()
win.after(100, check_threads_complete)

def check_threads_complete():
global threads
if any(thread.is_alive() for thread in threads):
win.after(100, check_threads_complete)
else:
print("All sorting threads have completed.")
status_label.config(text="All sorting threads completed!", fg="blue")

def start_sorting():
global data

try:
manual_data = list(map(int, manual_entry.get().split(",")))
if manual_data:
data = manual_data
except ValueError:
status_label.config(
text="Invalid Manual Input! Please enter comma-separated integers.",
fg="red",
)
return

if not data:
status_label.config(
text="No Data to Sort! Please generate or input data.", fg="red"
)
return

status_label.config(text="Sorting started...", fg="green")

Я пытался реализовать в проекте многопоточность, и это превратилось в неполный беспорядок с кодом. Я пытался восстановить и исправить код, но он все равно не работал. Пожалуйста, помогите мне найти ошибку/ошибку.


Подробнее здесь: https://stackoverflow.com/questions/792 ... de-project
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Python»