Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Архангельский М.В._2154_лаб.1.docx
Скачиваний:
7
Добавлен:
31.10.2023
Размер:
376.7 Кб
Скачать
  1. Создать кнопку при помощи класса qPushButton с текстом «Архангельский м. В.». При нажатии на кнопку должно происходить завершение работы программы.

/* В нашем задании мы связываем сигнал кнопки clicked() со слотом quit()

объекта приложения QApplication. Макросы SIGNAL() и SLOT() являются частью синтаксиса. */

Листинг 4. Содержание файла "main.cpp":

#include <QApplication> // подключили заголовочные файлы с определениями классов QApplication (приложение)

#include <QPushButton> // QPushButton (кнопка)

#include <QLabel> // QLabel (надпись)

int main(int argc, char *argv[ ]) //обычный для C++ заголовок главной функции main с аргументами командной строки;

{

QApplication app(argc, argv); /*

объявили переменную типа QApplication (приложение), передав

конструктору параметры командной строки, которые, возможно, указаны при

запуске программы (argc – число параметров, argv – указатель на массив

строковых значений) */

QPushButton *button1 = new QPushButton("Архангельский М. В.");

QObject::connect(button1, SIGNAL(clicked()), &app, SLOT(quit()));

button1->resize(150, 100);

button1->show();

return app.exec(); /* запустили цикл обработки событий, происходящих с

элементами

приложения. Пока в нашей программе никакие события не определены, кроме

стандартных реакций на действия пользователя (изменение размеров и

положения

окна, нажатие кнопок в строке заголовка) */

}

Рисунок 4. Главное окно приложения с кнопкой «Архангельский М. В.»

  1. Создать объект класса QDate, содержащий текущую дату, создать объект класса QTime, содержащий текущее время, вывести полученную информацию о дате и времени в текстовую метку с использованием объектов класса QString.

Листинг 5. Содержание файла "main.cpp"

#include <QApplication> // подключили заголовочные файлы с определениями классов QApplication (приложение)

#include <QLabel> // QLabel (надпись)

#include <QDate> // QDate (Класс QDate представляет собой структуру данных для хранения дат и проведения с ними разного рода операций)

#include <QTime> // QTime( аналогичен классу QDate, используется для работы со временем)

#include <QDateTime> // QDateTime

int main(int argc, char *argv[ ]) //обычный для C++ заголовок главной функции main с аргументами командной строки;

{

QApplication app(argc, argv); /*

объявили переменную типа QApplication (приложение), передав

конструктору параметры командной строки, которые, возможно, указаны при

запуске программы (argc – число параметров, argv – указатель на массив

строковых значений) */

QDate Today = QDate::currentDate(); // создание объекта dateToday класса QDate. Для получения текущей даты нужно вызвать метод currentDate()

QTime Now = QTime::currentTime();// создание объекта Now класса QTime. Для получения текущего времени нужно вызвать метод currentTime()

QString str1; // создание объекта str1 класса QString для записи в него текущей даты

QString str2; // создание объекта str2 класса QString для записи в него текущего времени

QString str3; // создание объекта str3 класса QString для записи в него информации о текущей дате и времени

str1 = Today.toString("dd/MM/yyyy"); // Метод toString() позволяет получить текстовое представление даты в необходимом формате.

str2 = Now.toString("hh:mm:ss"); // Метод toString() позволяет получить текстовое представление времени в необходимом формате.

str3 = str1 + " " + str2; // Создание строки с информацией и о дате, и о времени, разделеных символами пробелов

QLabel label("<H2><CENTER>" + str3 + "<H2><CENTER>"); //создание объекта label класса QLabel

label.resize(400,200);

label.show();

return app.exec( ); /* запустили цикл обработки событий, происходящих с

элементами

приложения. Пока в нашей программе никакие события не определены, кроме

стандартных реакций на действия пользователя (изменение размеров и

положения

окна, нажатие кнопок в строке заголовка) */

}

Рисунок 5. Вывод информации о дате и времени в текстовую метку.