Прикладное программирование

Практика 15

Библиотека Qt:  Применение конфигурационных файлов. 

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

1. По примеру 17 из лекции создайте приложение проекта config03. 
В файле config.ini содержатся сведения о конфигурации приложения 
в формате ключ=значение, например heightwindow=500. В программе 
с помощью ассоциативного массива (контейнера, структуры (ключ, значение))
класса QMap выполняется парсинг этого файла и конфигурирование 
в соответствии с ним приложения. 

2. Проект BitMap v0.1. В окне нарисован горизонтальный ряд 
из 8 квадратных ячеек, каждой ячейке в байте сопоставлен 1 бит. 
Если ячейка белого цвета, то соответствующий бит равен 1, 
если черного - то бит равен 0. 
Числовой код хранится в файле config.ini.
При нажатии кнопки Reload измененный код загружается из 
конфигурационного файла и содержимое окна перерисовывается.
Значение бита выводится над каждой ячейкой. Двоичное число 
в байте переводится в шестнадцатеричное и десятичное и выводится 
напротив двоичного. 

3. Выполните рефакторинг (реинжиниринг) приложения проекта config03, 
создав библиотеку MainWindow.

4. Приведите отношения между идентификаторами filePath, mapConfig
и классом MainWindow в соответствие с принципом инкапсуляции, добавьте 
методы setFilePath и getFilePath.

5. Создайте приложение, в котором изображение из файла в формате 
JPEG выводится в центре рамки с тенью, а под ней в прямоугольник 
с тенью выводится выровненная по центру подпись с именем файла. 


Источники

Основные

  1. Юркин А. Г. Задачник по программированию. — СПб.: Питер, 2002. — 192 с.
  2. Поляков К. Ю., Шестаков А. П., Еремин Е. А. Объектноориентированное программирование // Информатика. — 2011. — N13. — С. 22-45.