Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Отчет по лабораторной работе №5

.docx
Скачиваний:
22
Добавлен:
03.10.2022
Размер:
663.19 Кб
Скачать

ФЕДЕРАЛЬНОЕ АГЕНСТВО СВЯЗИ

ФЕДЕРАЛЬНОЕ ГОСУДАРСТВЕННОЕ БЮДЖЕТНОЕ ОБРАЗОВАТЕЛЬНОЕ УЧРЕЖДЕНИЕ ВЫСШЕГО ОБРАЗОВАНИЯ

САНКТ-ПЕТЕРБУРГСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ ТЕЛЕКОММУНИКАЦИЙ ИМ. ПРОФ. М. А. БОНЧ-БРУЕВИЧА

Кафедра программной инженерии и вычислительной техники

Отчет по лабораторной работе №5

«Создание простейшего приложения с графическим интерфейсом пользователя на основе библиотеки Qt»

По дисциплине: «Технологии программирования»

Цель работы:

познакомиться с объектно-ориентированной библиотекой Qt и ее классами, позволяющими построить простейшее приложение с графическим интерфейсом, с инструментальной средой разработки Qt Creator.

Задачи работы:

Сконструировать в Qt Creator приложение с графическим интерфейсом, выполняющее функцию калькулятора.

Файлы проекта:

  • mainwindows.h: для подключения заголовочного файла библиотеки Qt, создания пространства имен Ui и включение в него класса главного окна, создание класса главного окна на основе класса QMainWindows, создание указателя на форму главного окна

  • mainwindows.cpp: для подключения модуля формы, инициализации формы главного окна, освобождения динамической памяти, занимаемой формой

  • main.cpp: для подключения заголовочного файла библиотеки Qt, создания объекта-приложения, создания главного окна приложения, отображения окна на экране, выполнения приложения

Проверка работы:

Операция сложения

Операция вычитания

Операция умножения

Операция деления

Операция нахождения квадратного корня

Код программы:

#include "mainwindow.h"

#include "ui_mainwindow.h"

MainWindow::MainWindow(QWidget *parent) :

QMainWindow(parent),

ui(new Ui::MainWindow)

{

ui->setupUi(this);

}

MainWindow::~MainWindow()

{

delete ui;

}

void MainWindow::on_pushButton_Plus_clicked()

{

QString s;

double x1,x2,x3;

bool test1,test2;

x1=ui->lineEdit->text().toDouble(&test1);

x2=ui->lineEdit_2->text().toDouble(&test2);

if(test1==true && test2==true)

{

x3=x1+x2;

s.sprintf("%10.5lf",x3);

ui->lineEdit_3->setText(s);

}

else

{

s="Error!";

ui->lineEdit_3->setText(s);

}

}

void MainWindow::on_pushButton_Minus_clicked()

{

QString s;

double x1,x2,x3;

bool test1,test2;

x1=ui->lineEdit->text().toDouble(&test1);

x2=ui->lineEdit_2->text().toDouble(&test2);

if(test1==true && test2==true)

{

x3=x1-x2;

s.sprintf("%10.5lf",x3);

ui->lineEdit_3->setText(s);

}

else

{

s="Error!";

ui->lineEdit_3->setText(s);

}

}

void MainWindow::on_pushButton_Multiply_clicked()

{

QString s;

double x1,x2,x3;

bool test1,test2;

x1=ui->lineEdit->text().toDouble(&test1);

x2=ui->lineEdit_2->text().toDouble(&test2);

if(test1==true && test2==true)

{

x3=x1*x2;

s.sprintf("%10.5lf",x3);

ui->lineEdit_3->setText(s);

}

else

{

s="Error!";

ui->lineEdit_3->setText(s);

}

}

void MainWindow::on_pushButton_Divide_clicked()

{

QString s;

double x1,x2,x3;

bool test1,test2;

x1=ui->lineEdit->text().toDouble(&test1);

x2=ui->lineEdit_2->text().toDouble(&test2);

if(test1==true && test2==true)

{

x3=x1/x2;

s.sprintf("%10.5lf",x3);

ui->lineEdit_3->setText(s);

}

}

void MainWindow::on_pushButton_Clear_clicked()

{

ui->lineEdit->clear();

ui->lineEdit_2->clear();

ui->lineEdit_3->clear();

ui->lineEdit_4->clear();

ui->lineEdit_5->clear();

}

void MainWindow::on_pushButton_Sqrt_clicked()

{

QString s;

double x1,x2;

x1=ui->lineEdit_4->text().toDouble();

x2=sqrt(x1);

s.sprintf("%10.5lf",x2);

ui->lineEdit_5->setText(s);

}

Вывод:

  1. Познакомились с объектно-ориентированной библиотекой Qt и ее классами.

  2. Сконструировали в Qt Creator приложение с графическим интерфейсом на основе Qt, выполняющее функцию калькулятора.