Пожалуйста помогите с программкой !

PythonDrocher

Новичок
Пользователь
Апр 14, 2020
17
0
1
Как сделать так чтобы выполнялась функция kadr(при нажатии клавиши) а за ней kadr2
то есть при нажатии выполняеться kadr а затем kadr2
import time
from tkinter import *
root = Tk()
root.title('Пробник 1')
c = Canvas(root, width = 500, height = 500, bg='white')
c.pack()

def start():
c.create_rectangle(200, 400, 250, 500)

def kadr(event):
if event.keysym == "Up":
c.create_oval(200, 100, 250, 150, fill = "Red")
def kadr2():
c.create_oval(200, 50, 250, 100, fill = "Red")
root.bind("<Key>", kadr)

root.mainloop()
 

stud_55

Модератор
Команда форума
Модератор
Апр 3, 2020
1 522
672
113
Вопросы оформляйте правильно. Вот правила, почитайте: https://itfy.org/threads/kak-pravilno-sostavit-vopros-i-ne-poluchit-ban.1/
 

stud_55

Модератор
Команда форума
Модератор
Апр 3, 2020
1 522
672
113
Как сделать так чтобы выполнялась функция kadr(при нажатии клавиши) а за ней kadr2
Можно в функции kadr делать вызов kadr2, также можно перед ним небольшую задержку установить:
Python:
import time
from tkinter import *
root = Tk()
root.title('Пробник 1')
c = Canvas(root, width = 500, height = 500, bg='white')
c.pack()

def start():
    c.create_rectangle(200, 400, 250, 500)

def kadr(event):
    if event.keysym == "Up":
        c.create_oval(200, 100, 250, 150, fill = "Red")
        c.after(300, kadr2)
        c.after(600, kadr3)

def kadr2():
    c.create_oval(200, 50, 250, 100, fill = "Red")

def kadr3():
    c.create_oval(200, 150, 250, 200, fill = "Red")

root.bind("<Key>", kadr)

root.mainloop()
 
  • Мне нравится
Реакции: PythonDrocher

PythonDrocher

Новичок
Пользователь
Апр 14, 2020
17
0
1
Можно в функции kadr делать вызов kadr2, также можно перед ним небольшую задержку установить:
Python:
import time
from tkinter import *
root = Tk()
root.title('Пробник 1')
c = Canvas(root, width = 500, height = 500, bg='white')
c.pack()

def start():
    c.create_rectangle(200, 400, 250, 500)

def kadr(event):
    if event.keysym == "Up":
        c.create_oval(200, 100, 250, 150, fill = "Red")
        c.after(300, kadr2)
        c.after(600, kadr3)

def kadr2():
    c.create_oval(200, 50, 250, 100, fill = "Red")

def kadr3():
    c.create_oval(200, 150, 250, 200, fill = "Red")

root.bind("<Key>", kadr)

root.mainloop()
 

PythonDrocher

Новичок
Пользователь
Апр 14, 2020
17
0
1
спасибо
 

Форум IT Специалистов