- •Лабораторная работа №1
- •Москва 2023
- •Создать виджет с надписью «Архангельский м. В.», задать размер виджета, вывести его на экран. В качестве виджета использовать кнопку (объект button класса qPushButton).
- •Создать текстовую метку при помощи класса qLabel, в текстовой метке записать текст «Архангельский м. В.». Вывести сообщение с использованием указателей и класса qLabel.
- •Повторить предыдущий пункт задания без использования указателей.
- •Создать кнопку при помощи класса qPushButton с текстом «Архангельский м. В.». При нажатии на кнопку должно происходить завершение работы программы.
- •Используя события таймера, через каждые 200 мс выводить в текстовую метку сообщение «Архангельский м. В.».
- •Используя Qt Designer, разместить на форме объект класса qLabel (текстовую метку), в которую необходимо выводить текущее время (ежесекундно).
- •Используя объекты класса qFile, скопировать содержимое одного бинарного файла в другой блоками по 2 символа, при этом осуществить проверку на возможность открытия файлов для чтения и записи.
- •Повторить предыдущий пункт задания с использованием объектов класса qByteArray
- •Используя объекты класса qTextStream, построчно считать содержимое текстового файла и вывести его в консоль.
- •Повторить предыдущий пункт задания с использованием метода readAll(). Записать текстовую информацию в файл, предварительно отформатировав текст.
- •Контрольные вопросы
Создать виджет с надписью «Архангельский м. В.», задать размер виджета, вывести его на экран. В качестве виджета использовать кнопку (объект button класса qPushButton).
Листинг 1. Содержание файла "main.cpp"
#include <QApplication> // подключили заголовочные файлы с определениями классов QApplication (приложение)
#include <QPushButton> // и QPushButton (кнопка)
int main(int argc, char *argv[ ]) //обычный для C++ заголовок главной функции main с аргументами командной строки;
{
QApplication app(argc, argv); /*
объявили переменную типа QApplication (приложение), передав
конструктору параметры командной строки, которые, возможно, указаны при
запуске программы (argc – число параметров, argv – указатель на массив
строковых значений) */
QPushButton button1("Архангельский М. В."); /*создали главное окно приложения,
которое представляет собой обычную
кнопку с текстом «Архангельский М.В.» */
button1.resize(200, 100); //определили размеры окна (ширину и высоту) в пикселях
button1.show(); //вывели окно на экран
return app.exec(); /* запустили цикл обработки событий, происходящих с
элементами
приложения. Пока в нашей программе никакие события не определены, кроме
стандартных реакций на действия пользователя (изменение размеров и
положения
окна, нажатие кнопок в строке заголовка) */
}
Рисунок 1. Главное окно приложения с кнопкой «Архангельский М. В.»
Создать текстовую метку при помощи класса qLabel, в текстовой метке записать текст «Архангельский м. В.». Вывести сообщение с использованием указателей и класса qLabel.
Листинг 2. Содержание файла "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 – указатель на массив
строковых значений) */
QLabel *label1 = new QLabel ("<h2><i>Архангельский</i> " " <font color = grey>М. В.</font></h2>");
label1->show( ); // вывод сообщения с использованием указателей и класса QLabel
return app.exec( ); /* запустили цикл обработки событий, происходящих с
элементами
приложения. Пока в нашей программе никакие события не определены, кроме стандартных реакций на действия пользователя (изменение размеров и
положения
окна, нажатие кнопок в строке заголовка) */
}
Рисунок 2. Выполнение программы с использованием указателей.
Повторить предыдущий пункт задания без использования указателей.
Листинг 3. Содержание файла "main.cpp"
#include <QApplication> // подключили заголовочные файлы с определениями классов QApplication (приложение)
#include <QLabel> // QLabel (надпись)
int main(int argc, char *argv[ ]) //обычный для C++ заголовок главной функции main с аргументами командной строки;
{
QApplication app(argc, argv); /*
объявили переменную типа QApplication (приложение), передав
конструктору параметры командной строки, которые, возможно, указаны при
запуске программы (argc – число параметров, argv – указатель на массив
строковых значений) */
QLabel label1("<h2><i>Архангельский</i> " " <font color = grey>М. В.</font></h2>");
label1.show(); // вывод сообщения без использования указателей
return app.exec(); /* запустили цикл обработки событий, происходящих с
элементами
приложения. Пока в нашей программе никакие события не определены, кроме
стандартных реакций на действия пользователя (изменение размеров и
положения
окна, нажатие кнопок в строке заголовка) */
}
Рисунок 3. Выполнение программы без использования указателей.