Команда (фрилансеры)

Набираем команду фрилансеров, Вы:

  • Программист,
  • Дизайнер,
  • SEO-специалист,
  • Менеджер

Разработка на заказ

Наша команда фрилансеров выполнит
работы на заказ:

Создание и раскрутка сайтов
Разработка приложений (мобайл, десктоп, сервер)
Разработка игр (веб, мобайл, 3D)
Аутсорсинг, фриланс

Контакты
vk.com/sitev_ru
Skype: sitev.ru
E-mail: mike@sitev.ru
github.com/sitev

Рейтинг@Mail.ru

Besucherzahler
счетчик посещений
Сайт на C++
Наш сайт работает на C++ и это очень круто! =))

Qt для начинающих - Урок 1

Начинающий программист постоянно сомневается, какие технологии начать осваивать эту или какую-нибудь другую. Нужно ли начинающему программисту изучать Qt? Однозначно, нужно! Например, почитайте этот пост или поищите что-нибудь в интернете. Всё ещё не уверены нужен ли Вам Qt? Если Вы пишите на С++, Qt вы должны знать, у Вас просто нет другой альтернативы.

Итак, поехали...

Давайте, для примера, напишем простенький калькулятор - сложение двух чисел.

Создаём новый проект. Как мы видем, существует несколько типов приложений. Мы как начинающие, выбираем "Приложение Qt Widgets":

Указываем имя проекта и папку для размещения файлов, у меня: C:\projects\qt

Qt автоматически генерирует следующие файлы:

  • lesson1.pro - файл проекта
  • main.cpp - главный файл с фукнцией main()
  • mainwindow.cpp - исходный код главного окна
  • mainwindow.h - заголовочный файл главного окна
  • mainwindow.ui - файл формы главного окна

Нажимаем кнопку "Завершить" - открывается редактор для разработки программ на Qt.

Пока должно быть всё понятно для начинающего Qt-разработчика...

Открываем главную форму (для этого переходим в mainwindow.ui).

Слева располагаются компоненты для создания экранной формы, справа сама форма, она пустая. Накидаем нужные компонентики, незабудем поля ввода QLineEdit назвать так: edtA, edtB и edtC соответственно.

Мы видем на экране поля ввода, подписи к ним слева и кнопку "A + B =". При нажатии на эту кнопку мы должны сложить A и B и поместить результат в C.

Как быть? Любой начинающий Qt-разработчик предположит, что нужно навесить на кнопку обработчик нажатия этой кнопки и он будет прав! В любых других фреймворках есть такое понятие как событие. Но в Qt решили выпендриться и придумали сигналы/слоты. Хотя, по сути, это, практически, тоже самое.

Кликаем правой кнопкой мыши на кнопку "A + B =", открывается всплывающее меню:

жмём на "Перейти к слоту"

Выбираем сигнал clicked(), и в открывшемся редакторе кода пишем небольшой программный код на Qt:

void MainWindow::on_btnOK_clicked()
{
    int a = ui->edtA->text().toInt(); // Берем текст edtA и преобразовываем его в число a
    int b = ui->edtB->text().toInt(); // Берем текст edtB и преобразовываем его в число b
    int c = a + b; // Складываем числа
	QString s = QString::number(c); // Преобразуем результат в строковый вид
    ui->edtC->setText(s); // Вывести результат в edtC
}

Функция обработки сигнала clicked() называется слотом on_btnOK_clicked().

При нажатии на кнопку, появится сигнал clicked(), который будет обработан слотом on_btnOK_clicked().

Кому непонятны сигналы/слоты (а статья пишется для начинающих), опишу опираясь на события, (надеюсь Qt-гуру будут милостливы...).

Итак, сработает событие clicked и вызовется обработчик этого события on_btnOK_clicked().

Наверное, начинающий Qt-разработчик спросит: "Ну что получилось?"... Да, конечно!


  • - 2017-06-07 12:11:52

    Кратко и по смыслу

  • - 2017-09-22 16:21:39

  • - 2017-10-18 19:37:09

    огонь

  • - 2017-10-22 17:18:13

  • - 2018-02-16 14:18:18

    Да кратенько, только минут 15 думал как перейти в mainwindow.ui, пока не догадался раскрыть список надписью Формы. И... не взлетело, оказалось у меня нет компилятора С++, теперь надо думать где его взять и как &guotприлепить&guot.

  • - 2018-02-16 14:18:25

    Да кратенько, только минут 15 думал как перейти в mainwindow.ui, пока не догадался раскрыть список надписью Формы. И... не взлетело, оказалось у меня нет компилятора С++, теперь надо думать где его взять и как &guotприлепить&guot.

  • - 2018-03-09 21:26:14

    После ввода имени проекта, и вводе дирекории, прееходит в пункт &guotКомплекты&guot, где матюкается, что мол &guotОтсутсвуют подходящие комплекты&guot. &guotДобавьте комплекты в настройках, или через инструмент обслуживания SDK&guot.

  • - 2018-03-09 21:26:23

    После ввода имени проекта, и вводе дирекории, прееходит в пункт &guotКомплекты&guot, где матюкается, что мол &guotОтсутсвуют подходящие комплекты&guot. &guotДобавьте комплекты в настройках, или через инструмент обслуживания SDK&guot.

  • - 2018-06-06 10:59:04

    норм

  • - 2018-07-05 01:18:58

    круто!

  • - 2018-09-26 16:16:17

    Отлично! Чёткое объяснение! Я заметил, что проект нужно создавать в папке, путь к которой не содержит кириллицы, инача проект не запускается.

  • - 2018-10-16 13:33:53

    Отличный примерчик ) Спасибо.

Отправить комментарий
Наш проект: язык Cj
Cj - язык программирования (C++ & Javascript)
Новый язык программирования, для разработки веб, мобайл, десктоп-приложений, игр... подробнее...

Хотите поддержать проект?

  • Оставляйте ссылки на наш сайт
  • Станьте спонсором проекта
подробнее...

Концепция SITEV.ru

SITEV.ru - это социальная сеть для ИТ-специалистов (программистов, дизайнеров, seo-специалистов, рекламных менеджеров, маркетологов), в том числе фрилансеров, бизнесменов... а также обычных пользователей, для которых и делается ИТ

Реклама


Поиск работы по всему миру