Лабораторная работа 7
Классы библиотеки Qt: элементы виджета.
Цель работы: отработка умений и навыков использования библиотеки Qt для формирования элементов виджета.
Задание.
Создать пустой виджет с заголовком "MyWidget", который не перекрывается другими окнами; Скопировать файл /usr/local/share/wall в рабочую папку; Создать окно с красным фоном размером (x, y). В окне расположить рисунок с координатами (a, b), размером (c, d); Создать скрин-шот; Дополнить код программы возможностью изменения вида курсора при его движении над картинкой; Создать полосы прокрутки в окне виджета; Создать скрин-шот.В отчете представить конечный код программы с подробными комментариями и скрин-шотами приложений.
Варианты
a | b | c | d | x | y | курсор | |
1. | 10 | 10 | 100 | 100 | 300 | 300 | UpArrowCursor |
2. | 15 | 15 | 150 | 150 | 300 | 300 | CrossCursor |
3. | 20 | 20 | 200 | 200 | 300 | 300 | WaitCursor |
4. | 10 | 15 | 100 | 150 | 300 | 300 | IbeamCursor |
5. | 10 | 20 | 100 | 200 | 300 | 300 | PointingHandCursor |
6. | 15 | 10 | 150 | 100 | 300 | 300 | ForbiddenCursor |
7. | 15 | 20 | 150 | 200 | 300 | 300 | WhatsThisCursor |
8. | 20 | 10 | 200 | 100 | 300 | 300 | SizeVerCursor |
9. | 20 | 15 | 200 | 150 | 300 | 300 | SizeHorCursor |
10. | 30 | 30 | 50 | 50 | 300 | 300 | SizeAllCursor |
11. | 30 | 50 | 100 | 200 | 200 | 300 | CrossCursor |
12. | 80 | 20 | 150 | 50 | 300 | 200 | ForbiddenCursor |
Комментарий.
Для создания компонента QLabel необходимо подключить соответствующую библиотеку. Элемент надписи можно создать так:
1. QLabel lbl = new QLabel(“Hello”);
Для указания цвета компонента используют метод setStyleSheet
2. lbl->setStyleSheet("background-color: red;"
"font: 14px 'Courier New';");
Контрольные вопросы
1. Что называют библиотекой классов?
2. Что собой представляет иерархия классов библиотеки Qt?
3. Что является классом приложения, каковы его функции?
4. Каковы общие принципы построения приложения с использованием библиотеки Qt?
5. Какова структура Qt проекта?
6. Какие вы знаете элементы отображения библиотеки Qt, каковы их основные методы и свойства?
7. Как в проекте Qt определяют связи наследования классов?
8. Как задают вид курсора в приложении Qt?
9. Что собой представляет виджет прокрутки, каковы его основные методы и свойства?
10. Каково функциональное назначение виджета QFrame?
Лабораторная работа 8
Классы библиотеки Qt: элементы отображения Qt
Цель работы: отработка умений и навыков использования библиотеки Qt для формирования элементов отображения.
Задание.
Компонент QLabel библиотеки Qt способен отображать HTML код.
Создать приложение, которое отображает информацию вашего варианта (в русскоязычном варианте). По необходимости использовать таблицы, картинки, подбор цвета. Добавить в программу компонент.· Вариант 1 – информация о предстоящей вам сессии (название института, факультета, специальности, порядковый номер сессии, предстоящие экзамены и зачеты). Добавить компонент QProgressBar, который должен отображать процентное отношение количества экзаменов и зачетов в этой сессии.
· Вариант 2 – информация о прошедшей сессии (название института, факультета, специальности, порядковый номер сессии, предстоящие экзамены и зачеты). Добавить компонент QLCDNumber, который должен отображать средний балл оценок предыдущей сессии.
· Вариант 3 – информация о себе (визитная карточка: Ф. И.О., название института, факультета, специальности). Добавить компонент QLCDNumber, который будет отображать ваш возраст.
· Вариант 4 – информация о фильмах в кинотеатрах города (название кинотеатра, фильма, время сеансов). Добавить компонент QProgressBar, минимальное значение которого должно соответствовать дню начала показа фильма, максимальное значение – концу показа, а текущее значение – настоящему дню.
· Вариант 5 – информация о характеристиках компьютера (производитель системной платы, процессор, объем ОЗУ, вид внешней памяти и ее объем). Частоту работы процессора и объем ОЗУ отобразить в компонентах QLCDNumber.
· Вариант 6 – информация для поступающих в институт на факультет АИТ (название института, номер и название специальности, перечень экзаменов). Добавить компонент QLCDNumber, который будет отображать год.
· Вариант 7 – информация о предложенных вам лабораторных работах по дисциплине. Добавить компонент QProgressBar, который должен отображать процентное отношение выполненных работ.
· Вариант 8 – расписание вашего рабочего дня. Добавить компонент QLCDNumber, который должен отображать ваше рабочее время в часах.
· Вариант 9 – информация о движении городских маршрутов автобусов в нашем городе (рейс - направление). В компоненте QLCDNumber отобразить стоимость проезда.
· Вариант 10 – информация о движении междугородних маршрутов автобусов в нашем городе (направление, время). В компоненте QLCDNumber отобразить стоимость билета маршрута Старый Оскол - Белгород.
· Вариант 11 – информация о курсах валют на сегодняшний день. Курс рубль – доллар отобразить с помощью двух компонентов QLCDNumber.
· Вариант 12 – информация о сотовых телефонах (5 моделей). В компонентах QProgressBar отобразить их относительную стоимость.
Контрольные вопросы.
1. Какие элементы отображения вы знаете?
2. Назовите основные методы и свойства элементов отображения.
3. Какую информацию можно поместить в виджет надписи?
4. Какую функциональность компоненту QLabel добавляет метод setBuddy()?
5. Какова функция знака & в тексте надписи?
6. Каково функциональное назначение виджета QProgressBar?
7. Каково функциональное назначение виджета QLCDNumber?
8. Каковы методы добавления виджетов в приложение?


