Это может показаться сложным, но на практике это действительно довольно легко, если вы сделаете это один или два раза.

сь в средней школе, у меня небольшой вопрос. Мне было поручено написать простую игру в Tkinter, где сосулька падает с потолка, и вы должны избегать ее с помощью мыши. Достаточно просто. Тем не менее, я столкнулся с проблемой. Всякий раз, когда я запускаю цикл в приложении Tkinter, он не открывается. Я попытался с циклом for, который делает паузу каждые 0,5 секунды, используя time.sleep (), и окно открывается, как только цикл заканчивается. Есть ли что-то особенное, что мне нужно сделать, чтобы петли работали в Tkinter?

from Tkinter import *
import time
import random

class App:
    def __init__(self, parent):
        self.frame = Frame(root, bg= '#1987DF', width=800, height=800)
        self.frame.bind("<Motion>", self.motionevent)
        self.frame.pack()
        #self.run()
    def randhex(self):
        b = "#"
        for i in range(1, 7):
            a = random.randint(0, 15)
            if a == 10:
                a = "A"
            elif a == 11:
                a = "B"
            elif a == 12:
                a = "C"
            elif a == 13:
                a = "D"
            elif a == 14:
                a = "E"
            elif a == 15:
                a = "F"
            b = b+str(a)
        return b

    def motionevent(self, event):
        xpos, ypos, bg = event.x, event.y, self.randhex()
        str1 = "X : %d  Y : %d BG : %s" % (xpos, ypos, bg)
        root.title(str1)
        x,y, delta = 100, 100, 10
        self.frame.config(bg=bg)

    def run(self):
        for i in range(0, 10):
            time.sleep(.5)
            print 'i'
            self.frame.config(bg=self.randhex())

root = Tk()
app = App(root)
root.mainloop()

В настоящее время все, что он должен сделать, это изменить фон, когда мышь движется. Когда линия вв этом он говорит, что self.run () не закомментирован, он напечатает «i» 10 раз, после чего откроется окно. Помогите?

Ответы на вопрос(1)

Ваш ответ на вопрос