Tkinter — настройка виджетов с использованием цикла whilePython

Программы на Python
Ответить
Anonymous
 Tkinter — настройка виджетов с использованием цикла while

Сообщение Anonymous »

У меня есть метод, который не работает при вызове. Программа просто перестает работать и ничего не происходит.

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

def change_statistics(self):
"""Updates widgets in frame"""
q = 1
new_player_list = player_list[:]      # player_list[:] is a list of player objects.
new_percentage_list = percentage_list[:]  # percentage_list[:] is a list of float numbers where each number represent the percentage attribute of a player object.

while len(new_percentage_list) != 0:
for player in new_player_list:
if player.percentage == max(new_percentage_list):
player.position = q
self.children[f"position_{q}"].configure(text = f"{player.position}")
self.children[f"name_{q}"].configure(text = player.name)
self.children[f"number_of_w_{q}"].configure(text = f"{player.number_of_w}")
self.children[f"number_of_games_{q}"].configure(text = f"{player.number_of_games}")
self.children[f"percentage_{q}"].configure(text = f"{player.percentage}")
new_player_list.remove(player)
new_percentage_list.remove(player.percentage)
q += 1
break
Я пробовал использовать self.update_idletasks() перед прерыванием, и единственная разница заключается в том, что этот метод будет работать для первого цикла в цикле while, но затем он перестает работать.

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

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

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

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

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

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