Используя python и tkinter, можно ли запустить часть программы, а затем остановить ее до тех пор, пока пользователь не нажмет конкретную кнопку и не продолжит работу?Как остановить программу до тех пор, пока не произойдет определенное действие
Я имею в виду:
функции - остановка - нажмите кнопку - продолжить работу.
Необходимый код для этого:
def yellowClick():
yellow.configure(activebackground="yellow3")
yellow.after(500, lambda: yellow.configure(activebackground="yellow"))
yellow = Tkinter.Button(base, bd="0", highlightthickness="0",
width="7", height="5", activebackground="yellow",
bg="yellow3", command = yellowClick)
yellow.place(x = 30, y = 50)
def blueClick():
blue.configure(activebackground="medium blue")
blue.after(500, lambda: blue.configure(activebackground="blue"))
blue = Tkinter.Button(base, bd="0", highlightthickness="0",
width="7", height="5", activebackground="blue",
bg="medium blue", command = blueClick)
blue.place(x = 125, y = 50)
def redClick():
red.configure(activebackground="red3")
red.after(500, lambda: red.configure(activebackground="red"))
red = Tkinter.Button(base, bd="0", highlightthickness="0",
width="7", height="5", activebackground="red",
bg = "red3", command = redClick)
red.place(x = 30, y = 145)
def greenClick():
green.configure(activebackground="dark green")
green.after(500, lambda: green.configure(activebackground="green4"))
green = Tkinter.Button(base, bd="0", highlightthickness="0",
width="7", height="5", activebackground="green4",
bg="dark green", command = greenClick)
green.place(x = 125, y = 145)
def showSequence():
r = random.randint(1, 4)
if r == 1:
yellow.configure(bg="yellow")
yellow.after(1000, lambda: yellow.configure(bg="yellow3"))
elif r == 2:
blue.configure(bg="blue")
blue.after(1000, lambda: blue.configure(bg="medium blue"))
elif r == 3:
red.configure(bg="red")
red.after(1000, lambda: red.configure(bg="red3"))
elif r == 4:
green.configure(bg="green4")
green.after(1000, lambda: green.configure(bg="dark green"))
Это для игры Саймоном, мне нужно запустить эту функцию только один раз, а затем сделать его остановить, пока игрок нажимает на кнопку, а затем вернуться к этому function.This является для первого хода. Мне нужно подключить функцию showsequence таким образом, чтобы она останавливалась до тех пор, пока не будет нажата кнопка, но я не знаю, как это сделать.
Остановка программы по времени в этом случае не будет работать, я имею в виду, что нужно ждать определенного действия.
если возможно, добавьте простой кусок кода. Кто-то может опубликовать лучший метод, но вы всегда можете использовать цикл while с функцией сна 100 мс. например: 'while True: проверить что-то еще time.sleep (0.1)' – 16num