Лабораторная работа 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.  Каковы методы добавления виджетов в приложение?