Отчет по лабораторной работе №5
.docxФЕДЕРАЛЬНОЕ АГЕНСТВО СВЯЗИ
ФЕДЕРАЛЬНОЕ ГОСУДАРСТВЕННОЕ БЮДЖЕТНОЕ ОБРАЗОВАТЕЛЬНОЕ УЧРЕЖДЕНИЕ ВЫСШЕГО ОБРАЗОВАНИЯ
САНКТ-ПЕТЕРБУРГСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ ТЕЛЕКОММУНИКАЦИЙ ИМ. ПРОФ. М. А. БОНЧ-БРУЕВИЧА
Кафедра программной инженерии и вычислительной техники
Отчет по лабораторной работе №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);
}
Вывод:
Познакомились с объектно-ориентированной библиотекой Qt и ее классами.
Сконструировали в Qt Creator приложение с графическим интерфейсом на основе Qt, выполняющее функцию калькулятора.