Skip to content

Latest commit

 

History

History

05

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 

Домашнее задание к занятию «Слоты и сигналы»

Цель задания

В результате выполнения этого задания вы научитесь соединять слоты и сигналы различных объектов и использовать скрытые сигналы.


Инструкция к заданию

  1. Создать новый проект — приложение Qt Widget.
  2. Добавить необходимые виджеты на форму главного окна.
  3. Скомпоновать виджеты.
  4. Реализовать функции приложения, описанные в задании.

Задание 1

  1. Разработать приложение «Секундомер».
  2. Форма приложения должна включать:
  • три кнопки: «Старт/Стоп», «Очистить», «Круг»;
  • текстовый лейбл «Время»;
  • текстовый браузер для отображения времени кругов.
  1. Приложение должно выполнять следующие функции:
  • при нажатии на кнопку «Старт» название кнопки меняется на «Стоп»;
  • в текстовом лейбле отображается время, прошедшие с момента нажатия на кнопку «Старт»;
  • при нажатии на кнопку «Круг» в текстовый браузер добавляется строка с надписью «Круг N, время: M сек». Где N — номер круга, М — время круга, именно предыдущего круга, а не от начала работы секундомера;
  • при нажатии на кнопку «Очистить» время на лейбле сбрасывается на 0 и очищается текстовый браузер. Соответственно, счёт кругов и времени начинается сначала;
  • при нажатии на кнопку «Стоп» счёт времени останавливается и название кнопки меняется на «Старт»;
  • кнопка «Круг» должна быть активна только при запущенном секундомере.
  1. Логика работы секундомера должна выполняться в классе Stopwatch, который в главную форму передаёт только значения секундомера для отображения. В классе обязательно должны быть реализованы методы запуска, остановки, сброса секундомера. Допускается реализация дополнительных методов.
  2. Для реализации секундомера использовать экземпляр класса QTimer.
  3. Время на экране должно обновляться каждые 0.1 сек.

Правила приёма работы

  1. Отправлена ссылка на репозиторий с кодом ДЗ.

Критерии зачёта

  1. Выполняются все требования задания.
  2. В приложении присутствует хотя бы один метод QObject::connect.
  3. Приложение полностью выполняет требуемые функции.
  4. Отсутствуют нескомпанованные виджеты или компановки.