Разработка программных модулей. Язык C++

Практика 28

Построение пользовательского интерфейса из графических примитивов 

В папке своей группы создайтей папку 28, по номеру практического занятия. 
Для каждой программы, состоящей из нескольких файлов, 
создавайте отдельную папку проекта, например test28_1, 
test28_2 и т.д., где "28" - номер практического 
занятия, 1, 2 и т.д. - номер задания.
Каждую программу, состоящую из одного файла, сохранять 
в отдельном файле для каждого упражнения, 
например test28_1.cpp, test28_2.cpp и т.д., где "28" - номер практического 
занятия, 1, 2 и т.д. - номер задания.

Задача 1. По примеру 18.1 Класс QGraphicsScene.

Задача 2. По примеру 18.2 Класс QGraphicsView. 

Задача 3. На основе примеров QGraphicsScene и QGraphicsView 
создать приложение для расстановки шахматных фигур на доске.
Рисунок с доской сохранятеся в PNG-файл. 

Задача 4. Выполните рефакторинг (реинжиниринг) приложения. 

Задача 5. Начертите диаграмму классов по примеру 15.2 с отображением 
отношений агрегирования и композиции.

Задача 6. Приведите отношения между глобальными переменными 
и классом MainWindow в соответствие с принципом инкапсуляции, 
добавьте методы сеттеры и геттеры.

Задача 7. Подготовка к квалификационному экзамену по профессиональному модулю. 

Дополнительные задания

Проектирование базового класса. 
Построение иерархии классов. 
Абстрактные классы. 
Модель цепи логических элементов.

1. По примеру из лекции создайте приложение проекта pixmap01. 
Напишите программу на языке C++ с применением библиотеки Qt. 
С помощью объекта QPixmap выводится прямоугольный массив точек 
в окно программы и сохраняется в файл формата PNG.

2. В проекте tcolor03 при нажатии на кнопку Test создается 
HTML-документ, фон которого установлен заданным в программе цветом. 

3. Доработайте приложение проекта pixmap01 так, чтобы выводилась 
парабола.

4. В проект pixmap01 добавьте поле для ввода имени файла. 
Сохранение файла должно происходить при нажатии на кнопку Save.


Источники

Основные

  1. Юркин А. Г. Задачник по программированию. — СПб.: Питер, 2002. — 192 с.
  2. Поляков К. Ю., Шестаков А. П., Еремин Е. А. Объектноориентированное программирование // Информатика. — 2011. — N13. — С. 22-45.
  3. Qt Downloads qt-win-opensource-4.1.1-mingw.exe
  4. Qt Downloads qt-opensource-windows-x86-mingw482-4.8.7.exe
  5. arduino.cc: Download the Arduino IDE Arduino 1.8.5 Windows ZIP file for non admin install
  6. forum.amperka.ru: Arduino Mega 2560 + CH340 Установка Драйвера Windows 7 x64.
  7. wch.cn: CH341SER.ZIP

Дополнительные

  1. doc.crossplatform.ru/qt: Каркас графического представления: QGraphicsScene, QGraphicsItem, QGraphicsView.
  2. evileg.com: Qt/C++ - Урок 023. Перетаскивание QGraphicsItem на QGraphicsScene мышью.
  3. evileg.com: Qt/C++ - Урок 018. QGraphicsItem - наследование и СЛОТы.
  4. intuit.ru: Лекция 11: Знакомство с Qt. Подготовка к работе.
  5. itnotesblog.ru: Drag&Drop в Qt: Перемещаем изображения и текст.
  6. itnotesblog.ru: OpenCV: Установка и использование под Windows.
  7. itnotesblog.ru: Паттерн MVC на примере Cапера.
  8. itnotesblog.ru: Паттерн Состояние на C++.
  9. cppstudio.com: Первая программа на Qt.