Прикладное программирование
Практика 11
Библиотека Qt: обработчик событий графического холста
Для каждой программы, состоящей из нескольких файлов,
создавайте отдельную папку проекта, например project11-1,
project11-2 и т.д., где "11" - номер практического
занятия, 1, 2 и т.д. - номер задания.
Каждую программу, состоящую из одного файла, сохранять
в отдельном файле для каждого упражнения,
например prog11-1, prog11-2 и т.д., где "11" - номер практического
занятия, 1, 2 и т.д. - номер задания.
1. По примеру 13 из лекции создайте приложение с графическим
интерфейсом с применением библиотеки Qt.
Приложение построено на одном модуле исходного кода main.cpp.
С помощью компонента QLineEdit вводят полный путь выбранного файла
растровой графики. При нажатии на кнопку Open изображение
выбранного фйла открывается в окне приложения.
2. Выполните рефакторинг (реинжиниринг) приложения проекта gallery01,
создав библиотеку MainWindow.
3. Подключите к проекту из задания 1 библиотеку TCar.
Выполните моделирование движения 3-x автомобилей с применением
класса TCar. Изображения автомобилей должны быть загружены
из графических файлов в формате PNG с прозрачным фоном.
4. Подключите к проекту библиотеку TRoad. Программа использует
значения свойства класса TRoad для построения изображения дороги
в окне приложения. Текстура асфальтовой дороги загружается
из графического растрового файла.
5. Создайте кнопку с надписью Draw, компоненты QLabel с надписями
Width и Height и поля ввода для задания высоты и ширины прямоугольника.
При нажатии на кнопку Draw прямоугольник перерисовывается
с новыми размерами.
6. Слайд-шоу базы данных TBook.
К возможностям проекта из предыдущего практического занятия
добавьте возможность для каждой книги отображать обложку.
Обложка изображается с помощью графических функций в виде
прямоугольников с заливкой различного цвета и с размещенной
в центре прямоугольника портрета автора книги, загружаемого
из графического файла.
Источники
Основные
- Юркин А. Г.
Задачник по программированию. — СПб.: Питер, 2002. — 192 с.
- Поляков К. Ю., Шестаков А. П., Еремин Е. А. Объектноориентированное
программирование // Информатика. — 2011. — N13. — С. 22-45.