Скачиваний:
1
Добавлен:
15.08.2023
Размер:
358.5 Кб
Скачать

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

Вариант 5

  1. Участники команды: Козлов Никита, Михаил Дмитриченко

  2. гр. ИКПИ-92

  3. https://mysvn.ru/Nyarstot/LAB5

  4. Данные для входа преподавателя

Petromay

12345

  1. Windows 10

  2. Qt 5.15.0, MinGW 32 8.1.0

  3. Lab5.cpp : Простейшее приложение - окно с кнопкой

mywidget.cpp, mywidget.h: Приложение - окно с кнопками и окном редактора Edit.

П. 5

Вариант 5: Ввод строки, замена первого символа на последний и последнего на первый

Произошла ошибка в Windows, о которой упоминалось в методичке 

П. 10

Приложение не собирается из-за системных ошибок

  1. Итоговый текст программы:

Lab5.cpp

#include <QtWidgets/QApplication>

#include <QtWidgets/QWidget>

#include <QtWidgets/QMainWindow>

#include "mywidget.h"

int main (int argc, char *argv[])

{

QApplication app(argc, argv);

MyWidget widget;

widget.setWindowTitle("Lab5Variant5");

widget.show();

return app.exec();

}

mywidget.cpp

#include <QtGui>

#include "mywidget.h"

MyWidget::~MyWidget() {}

void MyWidget::slotSqua() {

double d;

QString tmp;

d=line1->text().toDouble();

d=d*d;

labsign->setText("");

line2->setText(tmp.setNum(d));

}

void MyWidget::slotClear()

{

line1 -> setText("");

line2 -> setText("");

labsign -> setText("");

}

MyWidget::MyWidget()

{

this -> resize(300,150);

line1 = new QLineEdit(this);

line2 = new QLineEdit(this);

bsqua = new QPushButton("*",this);

bclear = new QPushButton("C",this);

labsign=new QLabel("", this);

labis = new QLabel("^2=",this);

line1 -> move(60,30); line1 -> resize(70,20);

labis -> move(140,30); labis -> resize(30,20);

line2 -> move(180,30); line2 -> resize(70,20);

line2 -> setReadOnly(true);

bsqua -> move(70,80); bsqua -> resize(50,50);

bclear -> move(190,80); bclear -> resize(50,50);

connect(bsqua, SIGNAL(clicked()), this, SLOT(slotSqua()));

connect (bclear, SIGNAL (clicked()), this, SLOT (slotClear()));

}

mywidget.h

#ifndef MYWIDGET_H

#define MYWIDGET_H

#include <QMainWindow>

#include <QApplication>

#include <QPushButton>

#include <QLineEdit>

#include <QLabel>

#include <QString>

class MyWidget : public QMainWindow {

Q_OBJECT

private:

QLineEdit* line1;

QLineEdit* line2;

QPushButton* bsqua;

QPushButton* bclear;

QLabel* labsign;

QLabel* labis;

public slots:

void slotClear();

void slotSqua();

public:

MyWidget();

~MyWidget();

};

#endif

Результат работы программы - ошибка:

Снова произошла системная ошибка.

  1. Выводы: Мы научились работать с фрэймворком Qt5 и создавать простые оконные приложения, а также сделали один из дополнительных вариантов(пятый) по преобразованию строки и вывод её в приложении

Ответы на вопросы:

1) Кроссплатформенный фреймворк для удобной разработки консольных и оконных приложений

2) 2.1)qmake -project

2.2)qmake

2.3)mingw32-make

3) Создаётся файл с расширением .pro, далее создаются папки release и debug, а также файл makefile

4) В репозитории следует сохранять все исходные файлы проекта

5) Командой mingw32-make clean