Top.Mail.Ru
Ответы
Аватар пользователя
6лет
Изменено
Аватар пользователя
Аватар пользователя
Аватар пользователя
Программирование
+4

Срочно, очень надо

программа на Python: по заданию есть календарь, на последней дате стоит Label и по таймеру она должна двигаться по <дат к началу, но у меня метка убегает в сторону, нужно сделать, чтобы по достижении края она поднималась на строку вверх... и, чтобы конце остановилась:

from tkinter import *
import time

root = Tk()
root.geometry('800x600')

l1=Label (text='Январь 2019', font='Arial 14')
l1.place(x = 65, y = 30)

l2=Label (text='ПН', width = 6)
l2.place(x = 65, y = 70)
l3=Label (text='ВТ', width = 6)
l3.place(x = 125, y = 70)
l4=Label (text='СР', width = 6)
l4.place(x = 185, y = 70)
l5=Label (text='ЧТ', width = 6)
l5.place(x = 245, y = 70)
l6=Label (text='ПТ', width = 6)
l6.place(x = 305, y = 70)
l6=Label (text='СБ', width = 6)
l6.place(x = 365, y = 70)
l6=Label (text='ВС', width = 6)
l6.place(x = 425, y = 70)

global sec

global x1
global y1

x1 = 365
y1 = 240

global i #текущая дата
i = 31 #начальное значение даты

b1 =Button(root, text = '1', width = 6)
b1.place(x = 245, y = 100)
b2 =Button(root, text = '2', width = 6)
b2.place(x = 305, y = 100)
b3 =Button(root, text = '3', width = 6)
b3.place(x = 365, y = 100)
b4 =Button(root, text = '4', width = 6)
b4.place(x = 425, y = 100)

b19 =Button(root, text = '19', width = 6)
b19.place(x = 65, y = 205)
b20 =Button(root, text = '20', width = 6)
b20.place(x = 125, y = 205)
b21 =Button(root, text = '21', width = 6)
b21.place(x = 185, y = 205)
b22 =Button(root, text = '22', width = 6)
b22.place(x = 245, y = 205)
b23 =Button(root, text = '23', width = 6)
b23.place(x = 305, y = 205)
b24 =Button(root, text = '24', width = 6)
b24.place(x = 365, y = 205)
b25 =Button(root, text = '25', width = 6)
b25.place(x = 425, y = 205)

b26 =Button(root, text = '26', width = 6)
b26.place(x = 65, y = 240)
b27 =Button(root, text = '27', width = 6)
b27.place(x = 125, y = 240)
b28 =Button(root, text = '28', width = 6)
b28.place(x = 185, y = 240)
b29 =Button(root, text = '29', width = 6)
b29.place(x = 245, y = 240)
b30 =Button(root, text = '30', width = 6)
b30.place(x = 305, y = 240)
b31 =Button(root, text = '31', width = 6)
b31.place(x = 365, y = 240)

b8 =Button (root, text = '8', width = 6)
b8.place(x = 65, y = 135)

l = Label(root, text = str(i), fg = "blue", width = 6)#метка
l.place(x = 365, y = 240)

def timer(): #таймер
global run
global i
global x1
global y1

if run:
i -= 1

x1 -= 60

l["text"] = str(i)
l.place(x = x1, y = y1)
root.after(400, timer)

def start(event):#запуск таймера
global run
run = True #разблокирование таймера
timer()

def stop(event): #остановка таймера
global run #блокирование таймера
run = False

b8 = Button(root, text="Старт")
b8.place(x = 100, y = 300)

b9 = Button(root, text="Стоп")
b9.place(x = 150, y = 300)

b8.bind('', start)

b9.bind('', stop)

root.mainloop()

# я убрала часть дат, у меня программа не влазила

По дате
По рейтингу
Аватар пользователя
Новичок
6лет

мне нечего не понятно