Разработка web-приложения. ЛР по ВТП для ВТ (Питон). Методические указания к лабораторным работам для студентов, обучающихся в бакалавриате по направлениям
Скачать 2.07 Mb.
|
Управление временем в Python-проектах Цель работы: научить студентов использовать средства управления временем в программных Python-проектах. Введение При создании динамического изображения в программных проектах требуется механизм управления временем. Модуль tkinter позволяет реализовать это управление двумя способами: Метод after() откладывает выполнение какого-либо кода на заданный промежуток времени. Его синтаксис имеет вид: <окно>.after(<временная задержка в мс>[, <функция>]), т.е. выполнение <функции> задерживается на время, указанное в (<временной задержке в мс>. Периодическую задержку можно организовать: а) через цикл с заранее известным числом повторений. Здесь также возможны два варианта. О бобщенный алгоритм первого варианта (рис. 4.1): Для того, чтобы изображение реконфигурировалось на каждом шаге цикла, необходимо после очередного перестроения активизировать метод <окно>.up-date_idletasks(). Обычно эта функция используется, если были внесены изменения в состояние приложения, и вы хотите, чтобы эти изменения были отображены на экране немедленно, не дожидаясь завершения сценария. О бобщенный алгоритм второго варианта представлен на рис. 4.2: При этом предполагается, что аргумент <команда> метода after запускает некоторую функцию, находящуюся вне цикла. б ) цикл на основе рекурсивной структуры. Для его запуска и остановки требуется глобальная переменная-переключатель, которая устанавливается в соответствующие значения отдельными процедурами (рис. 4.3а и 4.б). А переключатель управляет работой процедуры таймера (рис. 4.3в). Этот вариант не требует использования метода update_idletasks() для корректного отображения динамики Метод sleep() также позволяет создавать временные задержки требуемой длительности. Его синтаксис имеет вид: time.sleep(<задержка в сек.>) Из записи видно, этот метод принадлежит модулю time, т.е. это модуль должен быть импортирован в начале скрипта. Метод sleep() также требует для корректной работы поддержки методом update_idletasks(). Изучение методов работы со временем эффективней всего проводить на примере динамической графики, поэтому ниже рассматриваются средства создания простейших изображений в рамках модуля tkinter. Для создания подобных изображений в tkinter используется контейнер Canvas (канва), основы создания которого рассмотрены в предыдущей лабораторной работе. На канву можно выводить текст командой, синтаксис которой имеет вид: <имя канвы>.create_text(<координаты опорной точки>, text="<отображаемый текст>", [<параметры шрифта>]) Ниже приведен пример размещения на канве трех строк шрифтом Verdana, размер которого равен 14 пунктам. Текст выравнивается по центру относительно точки привязки с координатами х=100, у=100. c.create_text(100, 100, text="Hello World,\nPython\nand Tk", justify=CENTER, font="Verdana 14 italic") Основные параметры текста: fill – цвет текста; font – шрифт, включает название шрифта, его размер в пунктах и стиль; anchor – выравнивание текста относительно точки привязки (см. предыдущую лабораторную работу); activefill – цвет текста при наведении на него мыши. Для того, чтобы в дальнейшем можно было менять параметры данного фрагмента текста, ему должно быть присвоено имя переменной. Прямоугольник в простейшем случае формируется командой: <имя канвы>. create_rectangle(<координаты левого верхнего угла>, < координаты правого нижнего угла >, [<параметры прямоугольника>]) Основные параметры текста: outline - цвет контура прямоугольника; fill - цвет заливки; activefill - цвет заливки при наведении на прямоугольник мыши; activeoutline - цвет контура прямоугольника при заходе на него мыши; width - ширина контура фигуры в пикселях. Графические средства tkinter позволяют создавать ломаную линию произвольной конфигурации. Одиночный отрезок создается командой c.create_line(10, 10, 190, 50), т.е.по синтаксису: <имя канвы>.create_line(<координаты конца 1>, < координаты конца 2>) Ломаная линия произвольно длины создается по синтаксису: <имя канвы>.create_line(<массив точек>) Основные параметры линии: fill - цвет линии; activefill - цвет линии при наведении на прямоугольник мыши; width - ширина линии фигуры в пикселях; smooth – сглаживание линии. Ниже приведен пример создания линии, когда выделяется отдельно каждая точка излома: c.create_line([300,80],[400,80],[450,75],[450,200],[300,180],[330,160]) Но такой же результат будет получен и при следующем задании линии: c.create_line(300,80,400,80,450,75,450,200,300,180,330,160) Параметр smooth по умолчанию установлен в значение 0, что соответствует излому линии в каждой точке перегиба. При smooth=1 в точках перегиба линия сглаживается. Метод create_polygon контейнера Canvas близок по своему действию к предыдущему методу, но здесь первая и последняя точки линии автоматически соединяются, а замкнутые поверхности закрашиваются установленным цветом. Поэтому у данного метода параметр fill определяет цвет заливки замкнутого контура, а outline – цвет самого контура. Актуален также параметр smooth. Окружности на канве создаются методом create_oval, у которого в начале параметров указываются координаты левого верхнего и правого нижнего углов описывающего окружность прямоугольника: c.create_oval(50, 10, 150, 110, width=2) Все параметры окружности аналогичны по своему назначению параметрам прямоугольника или полигона. Рассмотренные фигуры можно перемещать по пространству канвы с помощью метода move: <канва>, move(<имя фигуры>, <смещение по оси Х>, <смещение по оси У>) Из синтаксиса метода следует, что для реализации такого преобразования у каждой фигуры необходим идентификатор, который должен присваиваться ей в момент создания. Выполнение лабораторной работы I. В соответствии с заданием выбрать вариант реализации программного проекта. Во всех вариантах задания графический объект создается на базе контейнера Canvas. На канве создается статическое изображение с динамическим компонентом-рамкой. Толщина рамки три пикселя. В(1)-1. На пространстве формы изображен календарь за январь текущего года с горизонтальным расположением недель. Дни недели подписаны. Квадратная рамка движется циклически по датам с дискретом времени 0.4 сек. Цвет рамки – “black”. Запуск движения – кнопка «Пуск», остановка – кнопка «Стоп», что приводит к установке рамки на первую дату. В(1)-2. На пространстве формы изображен календарь за февраль текущего года с горизонтальным расположением недель. Дни недели подписаны. Метка в виде окружности циклически движется по датам с дискретом времени 0.5 сек. Запуск движения – контекстное меню, остановка – кнопка «Стоп», что приводит к установке рамки на первую дату. В(1)-3. На пространстве формы изображен календарь за март текущего года с горизонтальным расположением недель. Дни недели подписаны. Метка в виде пятиугольника циклически движется по датам с дискретом времени 0.6 сек. Запуск движения – кнопка «Пуск», остановка - контекстное меню, что приводит к установке рамки на первую дату. В(1)-4. На пространстве формы изображен календарь за апрель текущего года с горизонтальным расположением недель. Дни недели подписаны. Метка в виде шестиугольника циклически движется по датам с дискретом времени 0.7 сек. Запуск движения – кнопка «Пуск», остановка – главное меню, что приводит к установке рамки на первую дату. В(1)-5. На пространстве формы изображен календарь за май текущего года с горизонтальным расположением недель. Дни недели подписаны. Метка в виде квадрата с закругленными углами циклически движется по датам с дискретом времени 0.4 сек. Запуск движения – главное меню, остановка – кнопка «Стоп», что приводит к установке рамки на первую дату. В(1)-6. На пространстве формы изображен календарь за июнь текущего года с горизонтальным расположением недель. Дни недели подписаны. Метка в виде квадрата циклически движется по датам с дискретом времени 0.5 сек. Запуск движения и остановка движения – команды главного меню, что приводит к установке рамки на первую дату. В(1)-7. На пространстве формы изображен календарь за июль текущего года с горизонтальным расположением недель. Дни недели подписаны. Метка в виде окружности циклически движется по датам с дискретом времени 0.6 сек. Запуск движения и остановка движения – команды контекстного меню, что приводит к установке рамки на первую дату. В(1)-8. На пространстве формы изображен календарь за август текущего года с горизонтальным расположением недель. Дни недели подписаны. Метка в виде пятиугольника циклически движется по датам с дискретом времени 0.7 сек. Запуск движения – кнопка «Пуск», остановка – кнопка «Стоп», что приводит к установке рамки на первую дату. В(1)-9. На пространстве формы изображен календарь за сентябрь текущего года с горизонтальным расположением недель. Дни недели подписаны. Метка в виде шестиугольника циклически движется по датам с дискретом времени 0.8 сек. Запуск движения – кнопка «Пуск», остановка – команда главного меню, что приводит к установке рамки на первую дату. В(1)-10. На пространстве формы изображен календарь за октябрь текущего года с горизонтальным расположением недель. Дни недели подписаны. Метка в виде ромба циклически движется по датам с дискретом времени 0.4 сек. Запуск движения – команда главного меню, остановка – кнопка «Стоп», что приводит к установке рамки на первую дату. В(1)-11. На пространстве формы изображен календарь за ноябрь текущего года с горизонтальным расположением недель. Дни недели подписаны. Метка в виде ромба циклически движется по датам с дискретом времени 0.5 сек. Запуск движения – кнопка «Пуск», остановка – команда контекстного меню, что приводит к установке рамки на первую дату. В(1)-12. На пространстве формы изображен календарь за декабрь текущего года с горизонтальным расположением недель. Дни недели подписаны. Метка в виде квадрата циклически движется по датам с дискретом времени 0.6 сек. Запуск движения – команда контекстного меню, остановка – кнопка «Стоп», что приводит к установке рамки на первую дату. В(1)-13. На пространстве формы изображен календарь за январь текущего года с вертикальным расположением недель. Дни недели подписаны. Метка в виде квадрата с закругленными углами циклически движется по датам с дискретом времени 0.7 сек. Запуск движения и остановка движения – команды контекстного меню, что приводит к установке рамки на первую дату. В(1)-14. На пространстве формы изображен календарь за февраль текущего года с вертикальным расположением недель. Дни недели подписаны. Метка в виде окружности циклически движется по датам с дискретом времени 0.8 сек. Запуск движения – команда главного меню, остановка – команда контекстного меню, что приводит к установке рамки на первую дату. В(1)-15. На пространстве формы изображен календарь за март текущего года с вертикальным расположением недель. Дни недели подписаны. Метка в виде ромба циклически движется по датам с дискретом времени 0.4 сек. Запуск движения – команда контекстного меню, остановка – команда главного меню, что приводит к установке рамки на первую дату. В(1)-16. На пространстве формы изображен календарь за апрель текущего года с вертикальным расположением недель. Дни недели подписаны. Метка в виде пятиугольника циклически движется по датам с дискретом времени 0.5 сек. Запуск движения – кнопка «Пуск», остановка – кнопка «Стоп», что приводит к установке рамки на первую дату. В(1)-17. На пространстве формы изображен календарь за май текущего года с вертикальным расположением недель. Дни недели подписаны. Метка в виде шестиугольника циклически движется по датам с дискретом времени 0.6 сек. Запуск движения – кнопка «Пуск», остановка – команда главного меню, что приводит к установке рамки на первую дату. В(1)-18. На пространстве формы изображен календарь за июнь текущего года с вертикальным расположением недель. Дни недели подписаны. Метка в виде квадрата циклически движется по датам с дискретом времени 0.7 сек. Запуск движения – команда главного меню, остановка – кнопка «Стоп», что приводит к установке рамки на первую дату. В(1)-19. На пространстве формы изображен календарь за июль текущего года с вертикальным расположением недель. Дни недели подписаны. Метка в виде квадрата с закругленными углами циклически движется по датам с дискретом времени 0.8 сек. Запуск движения – команда главного меню, остановка – кнопка, что приводит к установке рамки на первую дату. В(1)-20. На пространстве формы изображен календарь за август текущего года с вертикальным расположением недель. Дни недели подписаны. Метка в виде окружности циклически движется по датам с дискретом времени 0.4 сек. Запуск движения – кнопка «Пуск», остановка – команда контекстного меню, что приводит к установке рамки на первую дату. В(1)-21. На пространстве формы изображен календарь за сентябрь текущего года с вертикальным расположением недель. Дни недели подписаны. Метка в виде ромба циклически движется по датам с дискретом времени 0.5 сек. Запуск движения – команда контекстного меню, остановка – кнопка «Стоп», что приводит к установке рамки на первую дату. В(1)-22. На пространстве формы изображен календарь за октябрь текущего года с вертикальным расположением недель. Дни недели подписаны. Метка в виде пятиугольника циклически движется по датам с дискретом времени 0.6 сек. Запуск движения и остановка движения – команды контекстного меню, что приводит к установке рамки на первую дату. В(1)-23. На пространстве формы изображен календарь за ноябрь текущего года с вертикальным расположением недель. Дни недели подписаны. Метка в виде шестиугольника циклически движется по датам с дискретом времени 0.7 сек. Запуск движения – кнопка «Пуск», остановка – кнопка «Стоп», что приводит к установке рамки на первую дату. В(1)-24. На пространстве формы изображен календарь за декабрь текущего года с вертикальным расположением недель. Дни недели подписаны. Метка в виде квадрата циклически движется по датам с дискретом времени 0.8 сек. Запуск движения – кнопка «Пуск», остановка – команда главного меню, что приводит к установке рамки на первую дату. В(1)-25. На пространстве формы изображена матрица случайных чисел от 0 до 99 размером 6х6. Метка в виде квадрата с закругленными углами исходно находится в левом верхнем углу, а после запуска циклически движется по траектории вида с дискретом времени 0.8 сек. Запуск движения – кнопка «Пуск», остановка – команда главного меню, что приводит к установке рамки в исходное положение. В(1)-26. На пространстве формы изображена матрица случайных чисел от 0 до 99 размером 6х6. Метка в виде овала исходно находится в левом верхнем углу, а после запуска циклически движется по периметру матрицы по часовой стрелке с дискретом времени 0.8 сек. После окончания полного цикла рамка движется против часовой стрелки, а затем снова по часовой. Запуск движения – двойной щелчок левой клавиши мыши по форме, остановка – команда главного меню, что приводит к установке рамки в исходное положение. В (1)-27. На пространстве формы изображена матрица случайных чисел от 0 до 99 размером 6х6. Метка в виде квадрата с закругленными углами исходно находится в левом верхнем углу, а после запуска циклически движется по траектории вида с дискретом времени 0.8 сек. Запуск движения и остановка – переключение виджета CheckButton. Остановка приводит к установке рамки в исходное положение. В (1)-28. На пространстве формы изображена матрица случайных чисел от 0 до 99 размером 7х7. Метка в виде ромба исходно находится в левом верхнем углу, а после запуск циклически движется по периметру верхней треугольной матрицы по часовой стрелке, а нижней треугольной – против часовой с дискретом времени 0.8 сек. Запуск движения – двойной щелчок левой клавиши мыши по форме, остановка – команда главного меню, что приводит к установке рамки в исходное положение. В (1)-29. На пространстве формы изображена матрица случайных чисел от 0 до 99 размером 7х7. Метка в виде квадрата с закругленными углами исходно находится в правом верхнем углу, а после запуска циклически движется по траектории вида с дискретом времени 0.8 сек. Запуск/остановка движения – кнопка SpeedButton. Остановка приводит к установке рамки в исходное положение. В(1)-30. На пространстве формы изображена матрица случайных чисел от 0 до 99 размером 7х7. Метка в виде ромба исходно находится в начале четвертого столбца, а после запуска циклически движется сначала против часовой стрелки, потом по часовой, по траектории вида с дискретом времени 0.8 сек. Запуск/остановка движения – радионабор из двух радиокнопок. Остановка приводит к установке рамки в исходное положение. В(1)-31. На пространстве формы изображена матрица случайных чисел от 0 до 99 размером 7х7. Метка в виде пятиугольника исходно находится в начале четвертого столбца, а после запуска циклически движется сначала по часовой стрелке, потом против часовой, по траектории вида с дискретом времени 0.8 сек. Запуск движения – кнопка «Пуск», остановка – кнопка «Стоп», что приводит к установке рамки на последнюю дату. В(1)-32. На пространстве формы изображена матрица случайных чисел от 0 до 99 размером 7х7. Метка в виде ромба исходно находится в левом верхнем углу, а после запуск циклически движется по периметру верхней треугольной матрицы по часовой стрелке, а нижней треугольной – против часовой с дискретом времени 0.8 сек. Запуск движения – двойной щелчок левой клавиши мыши по форме, остановка – команда главного меню, что приводит к установке рамки в исходное положение. В(1)-33. На пространстве формы изображена матрица случайных чисел от 0 до 99 размером 7х7. Метка в виде квадрата с закругленными углами исходно находится в правом верхнем углу, а после запуска циклически движется по траектории вида с дискретом времени 0.8 сек. Запуск/остановка движения – кнопка SpeedButton. Остановка приводит к установке рамки в исходное положение. В(1)-34. На пространстве формы изображена матрица случайных чисел от 0 до 99 размером 7х7. Метка в виде ромба исходно находится в начале четвертого столбца, а пос ле запуска циклически движется сначала против часовой стрелки, потом по часовой, по траектории вида с дискретом времени 0.8 сек. Запуск/остановка движения – радионабор из двух радиокнопок. Остановка приводит к установке рамки в исходное положение. В(1)-35. На пространстве формы изображена матрица случайных чисел от 0 до 99 размером 7х7. Метка в виде пятиугольника исходно находится в начале четвертого столбца, а после запуска циклически движется сначала по часовой стрелке, потом против часовой, по траектории вида с дискретом времени 0.8 сек. Запуск движения – кнопка «Пуск», остановка – кнопка «Стоп», что приводит к установке рамки на последнюю дату. В(1)-36. На пространстве формы изображен календарь за январь текущего года с горизонтальным расположением недель. Дни недели подписаны. Квадратная рамка движется циклически по датам с дискретом времени 0.4 сек. Цвет рамки – “black”. Запуск движения – кнопка «Пуск», остановка – кнопка «Стоп», что приводит к установке рамки на первую дату. В(1)-37. На пространстве формы изображен календарь за февраль текущего года с горизонтальным расположением недель. Дни недели подписаны. Метка в виде окружности циклически движется по датам с дискретом времени 0.5 сек. Запуск движения – контекстное меню, остановка – кнопка «Стоп», что приводит к установке рамки на первую дату. В(1)-38. На пространстве формы изображен календарь за декабрь текущего года с горизонтальным расположением недель. Дни недели подписаны. Метка в виде квадрата циклически движется по датам с дискретом времени 0.6 сек. Запуск движения – команда контекстного меню, остановка – кнопка «Стоп», что приводит к установке рамки на первую дату. В(1)-39. На пространстве формы изображен календарь за январь текущего года с вертикальным расположением недель. Дни недели подписаны. Метка в виде квадрата с закругленными углами циклически движется по датам с дискретом времени 0.7 сек. Запуск движения и остановка движения – команды контекстного меню, что приводит к установке рамки на первую дату. В(1)-40. На пространстве формы изображен календарь за март текущего года с вертикальным расположением недель. Дни недели подписаны. Метка в виде ромба циклически движется по датам с дискретом времени 0.4 сек. Запуск движения – команда контекстного меню, остановка – команда главного меню, что приводит к установке рамки на первую дату. В(1)-41. На пространстве формы изображен календарь за июль текущего года с вертикальным расположением недель. Дни недели подписаны. Метка в виде квадрата с закругленными углами циклически движется по датам с дискретом времени 0.8 сек. Запуск движения – команды главного меню, остановка – кнопка, что приводит к установке рамки на первую дату. В(1)-42. На пространстве формы изображен календарь за август текущего года с вертикальным расположением недель. Дни недели подписаны. Метка в виде окружности циклически движется по датам с дискретом времени 0.4 сек. Запуск движения – кнопка «Пуск», остановка – команда контекстного меню, что приводит к установке рамки на первую дату. В(1)-43. На пространстве формы изображен календарь за май текущего года с вертикальным расположением недель. Дни недели подписаны. Метка в виде шестиугольника циклически движется по датам с дискретом времени 0.6 сек. Запуск движения – кнопка «Пуск», остановка – команда главного меню, что приводит к установке рамки на первую дату. В(1)-44. На пространстве формы изображен календарь за июнь текущего года с вертикальным расположением недель. Дни недели подписаны. Метка в виде квадрата циклически движется по датам с дискретом времени 0.7 сек. Запуск движения – команда главного меню, остановка – кнопка «Стоп», что приводит к установке рамки на первую дату. В(1)-45. На пространстве формы изображена матрица случайных чисел от 0 до 99 размером 6х6. Метка в виде овала исходно находится в левом верхнем углу, а после запуска циклически движется по периметру матрицы по часовой стрелке с дискретом времени 0.8 сек. После окончания полного цикла рамка движется против часовой стрелки, а затем снова по часовой. Запуск движения – двойной щелчок левой клавиши мыши по форме, остановка – команда главного меню, что приводит к установке рамки в исходное положение. В(1)-46. На пространстве формы изображена матрица случайных чисел от 0 до 99 размером 6х6. Метка в виде квадрата с закругленными углами исходно находится в лев ом верхнем углу, а после запуска циклически движется по траектории вида с дискретом времени 0.8 сек. Запуск движения – нажатие цифры 2 на клавиатуре, остановка – команда главного меню, что приводит к установке рамки в исходное положение. В(1)-47. На пространстве формы изображен календарь за февраль текущего года с горизонтальным расположением недель. Дни недели подписаны. Метка в виде окружности циклически движется по датам с дискретом времени 0.5 сек. Запуск движения – контекстное меню, остановка – кнопка «Стоп», что приводит к установке рамки на первую дату. В(1)-48. На пространстве формы изображен календарь за июль текущего года с горизонтальным расположением недель. Дни недели подписаны. Метка в виде окружности циклически движется по датам с дискретом времени 0.6 сек. Запуск движения и остановка движения – команды контекстного меню, что приводит к установке рамки на первую дату. В(1)-49. На пространстве формы изображен календарь за сентябрь текущего года с горизонтальным расположением недель. Дни недели подписаны. Метка в виде шестиугольника циклически движется по датам с дискретом времени 0.8 сек. Запуск движения – кнопка «Пуск», остановка – команда главного меню, что приводит к установке рамки на первую дату В(1)-50. На пространстве формы изображен календарь за май текущего года с вертикальным расположением недель. Дни недели подписаны. Метка в виде шестиугольника циклически движется по датам с дискретом времени 0.6 сек. Запуск движения – кнопка «Пуск», остановка – команда главного меню, что приводит к установке рамки на первую дату. В(1)-51. На пространстве формы изображен календарь за август текущего года с вертикальным расположением недель. Дни недели подписаны. Метка в виде окружности циклически движется по датам с дискретом времени 0.4 сек. Запуск движения – кнопка «Пуск», остановка – команда контекстного меню, что приводит к установке рамки на первую дату. В(1)-52. На пространстве формы изображена матрица случайных чисел от 0 до 99 размером 6х6. Метка в виде квадрата с закругленными углами исходно находится в левом верхнем углу, а после запуска циклически движется по траектории вида с дискретом времени 0.8 сек. Запуск движения – кнопка «Пуск», остановка – команда главного меню, что приводит к установке рамки в исходное положение. В(1)-53. На пространстве формы изображена матрица случайных чисел от 0 до 99 размером 6х6. Метка в виде квадрата с закругленными углами исходно находится в левом верхнем углу, а после запуска циклически движется по траектории вида с дискретом времени 0.8 сек. Запуск движения и остановка – переключение виджета CheckButton. Остановка приводит к установке рамки в исходное положение. В(1)-54. На пространстве формы изображена матрица случайных чисел от 0 до 99 размером 7х7. Метка в виде ромба исходно находится в левом верхнем углу, а после запуск циклически движется по периметру верхней треугольной матрицы по часовой стрелке, а нижней треугольной – против часовой с дискретом времени 0.8 сек. Запуск движения – двойной щелчок левой клавиши мыши по форме, остановка – команда главного меню, что приводит к установке рамки в исходное положение. В (1)-55. На пространстве формы изображена матрица случайных чисел от 0 до 99 размером 9х9. Метка в виде ромба исходно находится в начале девятого столбца, а после запуска циклически движется по стрелкам, по траектории вида с дискретом времени 0.8 сек. Запуск/остановка движения – радионабор из двух радиокнопок. Остановка приводит к установке рамки в исходное положение. В(1)-56. На пространстве формы изображена матрица случайных чисел от 0 до 99 размером 7х7. Метка в виде ромба исходно находится в левом верхнем углу, а после запуск циклически движется по периметру верхней треугольной матрицы по часовой стрелке, а нижней треугольной – против часовой с дискретом времени 0.8 сек. Запуск движения – двойной щелчок левой клавиши мыши по форме, остановка – команда главного меню, что приводит к установке рамки в исходное положение. В(1)-57. На пространстве формы изображен календарь за январь текущего года с вертикальным расположением недель. Дни недели подписаны. Метка в виде квадрата с закругленными углами циклически движется по датам с дискретом времени 0.7 сек. Запуск движения и остановка движения – команды контекстного меню, что приводит к установке рамки на первую дату. В(1)-58. На пространстве формы изображен календарь за июль текущего года с вертикальным расположением недель. Дни недели подписаны. Метка в виде квадрата с закругленными углами циклически движется по датам с дискретом времени 0.8 сек. Запуск движения – команды главного меню, остановка – кнопка, что приводит к установке рамки на первую дату. В(1)-59. На пространстве формы изображен календарь за июнь текущего года с вертикальным расположением недель. Дни недели подписаны. Метка в виде квадрата циклически движется по датам с дискретом времени 0.7 сек. Запуск движения – команда главного меню, остановка – кнопка «Стоп», что приводит к установке рамки на первую дату. В(1)-60. На пространстве формы изображен календарь за февраль текущего года с горизонтальным расположением недель. Дни недели подписаны. Метка в виде окружности циклически движется по датам с дискретом времени 0.5 сек. Запуск движения – контекстное меню, остановка – кнопка «Стоп», что приводит к установке рамки на первую дату. В(1)-61. На пространстве формы изображен календарь за сентябрь текущего года с горизонтальным расположением недель. Дни недели подписаны. Метка в виде шестиугольника циклически движется по датам с дискретом времени 0.8 сек. Запуск движения – кнопка «Пуск», остановка – команда главного меню, что приводит к установке рамки на первую дату. II. Работу программы показать преподавателю. Содержание отчета: Титульный лист установленной формы; Задание на выполнение лабораторной работы; Структура проекта; Блок-схема начальной установки, блок-схемы процедур; 5) Листинг программы. Контрольные вопросы 1) Сколько есть вариантов использования метода after? 2) Можно ли задать для таймера временной интервал меньше 1 млс? 3) Какому модулю принадлежит метод sleep? 4) Можно ли менять временной интервал у методов времени в ходе работы программы? 5) При каком условии можно менять параметры у геометрических объектов? Лабораторная работа № 5 |