Essays.club - Получите бесплатные рефераты, курсовые работы и научные статьи
Поиск

Использование визуальных компонент в режиме диалога

Автор:   •  Апрель 1, 2023  •  Лабораторная работа  •  1,420 Слов (6 Страниц)  •  205 Просмотры

Страница 1 из 6

Задание 1. Реализовать алгоритм вычисления величин по варианту при заданных исходных значениях.  Ввод выполнить через текстовые поля, вывод в label. Должна быть label с подсказкой (типа “введите длины сторон:”). Вычисления выполнять  по нажатию кнопки. [см. 1) лекция 9]. Задание выполнить на Qt, Visual Studio C++, Visual Studio C#

Задание 2. Модифицировать программу lab11, заменив нажатие кнопки обработкой событий выхода из текстового поля. При некорректном вводе фокус остается в этом поле. При нажатии кнопки приложение завершается.

Вариант 15. Даны координаты точки в пространстве. Найти расстояние до симметричной точки -x -y -z .

Qt:

Листинг итоговой программы

#include "coords.h"

#include "ui_coords.h"

#include <QtMath>

Coords::Coords(QWidget *parent)

    : QMainWindow(parent)

    , ui(new Ui::Coords)

{

    ui->setupUi(this);

}

Coords::~Coords()

{

    delete ui;

}

void Coords::on_Calculate_button_clicked()

{

    double x = ui->spin_X->value(),

           y = ui->spin_Y->value(),

           z = ui->spin_Z->value();

    ui->result_label->setText(QString::number(2 * qSqrt(x*x+y*y+z*z)));

}

void Coords::on_spin_X_editingFinished()

{

    on_Calculate_button_clicked();

}

void Coords::on_spin_Y_editingFinished()

{

    on_Calculate_button_clicked();

}


void Coords::on_spin_Z_editingFinished()

{

    on_Calculate_button_clicked();

}


Результат и интерфейс программы с кнопкой представлен на рисунке 1.

[pic 1] [pic 2] 

Рисунок 1 – Тест программы (C++/CLI первое задание)

Для выполнения второго задания отключили кнопку и стрелки у спинов. По завершению редактирования какого-либо из полей результат вычисляется автоматически (Рисунок 2).

[pic 3] [pic 4]

Рисунок 2 – Тест программы (Qt второе задание)


Visual studio C++ (CLI):

Листинг итоговой программы

#pragma once

#include <math.h>

namespace Osterlab11CPP {

using namespace System;

using namespace System::ComponentModel;

using namespace System::Collections;

using namespace System::Windows::Forms;

using namespace System::Data;

using namespace System::Drawing;

/// <summary>

/// Сводка для MyForm

/// </summary>

public ref class MyForm : public System::Windows::Forms::Form

{

public:

MyForm(void)

{

InitializeComponent();

//

//TODO: добавьте код конструктора

//

}

protected:

/// <summary>

/// Освободить все используемые ресурсы.

/// </summary>

~MyForm()

{

if (components)

{

delete components;

}

}

private: System::Windows::Forms::Label^ label1;

private: System::Windows::Forms::Label^ label2;

...

Скачать:   txt (14.3 Kb)   pdf (343.1 Kb)   docx (185.6 Kb)  
Продолжить читать еще 5 страниц(ы) »
Доступно только на Essays.club