Почему мой Python, а l oop не позволяет открывать окно tkinter? - PullRequest
0 голосов
/ 17 июня 2020

В tkinter GUI у меня есть несколько классов, и в конце while l oop. Без while l oop все работает нормально, кроме функций в l oop. Но всякий раз, когда я помещал while l oop в конец, окно tkinter не открывалось. Вот часть моего кода:

while 1:
    Game['paper'] += Game['totalpps']/10
    time.sleep(0.1)

Я многое вырезал, но у меня есть игровой словарь, в котором есть все игровые данные. Но когда идет while l oop, окно tkinter не появляется. Даже после того, как я поставил time.sleep(5) перед while l oop, окно не появилось.

Есть идеи, почему?

Любая помощь приветствуется.

Примечание. Я использую Raspberry Pi с ОС Raspbian.

Ответы [ 2 ]

1 голос
/ 17 июня 2020

Потоки могут легко решить вашу проблему:

from threading import Thread

# All this code must occur before calling window.mainloop()

def loop():
    while 1:
        Game['paper'] += Game['totalpps']/10
        time.sleep(0.1)

Thread(target=loop).start()
0 голосов
/ 08 июля 2020

Если вы просто поставите root.update() перед while l oop и в while l oop, все должно работать нормально.

...