В статье рассказывается, как создать консольное приложение сложения двух чисел в Qt 5.4.0 с использованием библиотеки Qt (то есть с использованием moc компилятора).

В статье Сложение двух чисел в Qt 5.12.0 на C++ (консольное приложение) рассказывается, как создать классическое консольное приложение в Qt без привлечения библиотек Qt.

Приготовления

В статье Установка Qt и в статье Установка Qt под Visual Studio, MinGW и для разработки под Android узнаете, как всё установить и настроить.

Создание проекта

Создание нового проекта

Выбор типа нового проекта

Выбор названия проекта

Выбор компилятора

Дополнительная настройка проекта

Созданный проект

Болванка приложения C++

Пропишем подключение библиотек:

#include <QTextCodec>
#include <iostream>

Пропишем пространство имен стандартной библиотеки, чтобы потом нужно было меньше прописывать кода:

using namespace std;//Подключение стандартной библиотеки функций

Текущее состояние кода C++

В функции main пропишем строчки кода, чтобы русский язык отображался корректно:

#ifdef Q_OS_WIN32
    QTextCodec::setCodecForLocale(QTextCodec::codecForName("IBM 866"));
#endif

#ifdef Q_OS_LINUX
    QTextCodec::setCodecForLocale(QTextCodec::codecForName("UTF-8"));
#endif

В итоге получаем готовую болванку программы на C++:

#include <QCoreApplication>

#include <QTextCodec>
#include <iostream>

using namespace std;//Подключение стандартной библиотеки функций

int main(int argc, char *argv[])
{
    QCoreApplication a(argc, argv);

#ifdef Q_OS_WIN32
    QTextCodec::setCodecForLocale(QTextCodec::codecForName("IBM 866"));
#endif

#ifdef Q_OS_LINUX
    QTextCodec::setCodecForLocale(QTextCodec::codecForName("UTF-8"));
#endif

  //Тут пишем код

    return a.exec();
}:

Написание кода основной программы

А теперь пропишем основной код нашей программы, где через cin мы считываем в переменные наши числа, а через cout выводим текст в консоль:

int x, y, z;

//Считаем первое число
cout << qPrintable("Введите первое число:") << endl;
cin >> x;

//Считаем второе число
cout << qPrintable("Введите второе число:") << endl;
cin >> y;

//Посчитаем сумму
z = x + y;

//Выведем результат
cout << qPrintable("Сумма:") << z << endl;

Полная программа будет выглядеть так:

#include <QCoreApplication>
#include <QTextCodec>
#include <iostream>

using namespace std;//Подключение стандартной библиотеки функций

int main(int argc, char *argv[])
{
  QCoreApplication a(argc, argv);

#ifdef Q_OS_WIN32
    QTextCodec::setCodecForLocale(QTextCodec::codecForName("IBM 866"));
#endif

#ifdef Q_OS_LINUX
    QTextCodec::setCodecForLocale(QTextCodec::codecForName("UTF-8"));
#endif

    int x, y, z;

    //Считаем первое число
    cout << qPrintable("Введите первое число:") << endl;
    cin >> x;

    //Считаем второе число
    cout << qPrintable("Введите второе число:") << endl;
    cin >> y;

    //Посчитаем сумму
    z = x + y;

    //Выведем результат
    cout << qPrintable("Сумма:") << z << endl;

  return a.exec();
}

Теперь немного о коде получившемся. Из-за проблем с отображением русских букв в консоли в Qt5 нам приходится использовать костыль вида:

cout << qPrintable("Введите второе число:") << endl;

Тогда как в классических консольных приложениях пишем так:

cout << "Введите второе число:" << endl;

Если вы не хотите использовать русские буквы, то код будет чище и красивее:

#include <QCoreApplication>

#include <iostream>

using namespace std;

int main(int argc, char *argv[])
{
    QCoreApplication a(argc, argv);

    int x, y, z;

    cout << "Input first number:" << endl;
    cin >> x;

    cout << "Input second number:" << endl;
    cin >> y;

    z = x + y;

    cout << "Sum: " << z << endl;

    return a.exec();
}

Запуск программы

Запуск программы

Получаем наше приложение:

Запущенное приложение

При вводе наших чисел получим вот это:

Результат выполнения программы<ul><li>Qt logo 2016.svg by Qt Project / (2019-01-26)</li></ul>