Алтунин Василий

Алтунин Василий

Qt5 обладает богатыми возможностями для работы с WebAPI. Сегодня мы рассмотрим базовый функционал работы с WebAPI на примере запроса цен на минерал Tritanium в регионе The Forge из игры EVE Online с помощью ESI – EVE Swagger Interface.

Вторник, 12 января 2021 19:00

Отладка классов в Qt5 с помощью QDebug

Работая с классами в Qt5 вам неоднократно приходилось сталкиваться с отладкой, при этом строчка вида:

qDebug() << value;

Используется очень часто, в том числе, когда нужно контролировать значения некоторых переменных, а запускать отладку долго и не эффективно.

Если же вы хотите вывести значение полей экземпляра класса, тут qDebug() пасует – он попросту ничего не знает о вашем классе и всё, что вы получите в результате - строку вида 0x19e8aa45460.

Сегодня мы рассмотрим перегрузку оператора << для класса CountryFlag для последующего использования в конструкциях вида:

CountryFlag flag;
qDebug() << flag;

Модели можно создавать не только для стандартных виджетов (QComboBox, QTableView и так далее), но и для тех, которые  создаём мы сами.

Сегодня будет рассмотрена реализация модели для виджета, который был создан в предыдущих статьях - простой лампочки. Модель позволит управлять состоянием лампочки – включать/отключать её.

Конечно, вы можете сделать все это не используя модель. Данный виджет был специально выбран для демонстрации ввиду своей простоты.

Мы будем использовать проект из предыдущей статьи.

Сегодня мы реализуем для нашего виджета довольно востребованный функционал – перенос слов на новую строку.

Мы будем использовать проект из предыдущей статьи.

Сегодня мы продолжим улучшать наш виджет. На этот раз мы рассмотрим выравнивание текста.

Мы будем использовать проект и прошлой статьи.

Сегодня мы продолжим расширять функционал нашего виджета, на этот раз мы добавим возможность изменять шрифт, цвет, а также размер подписи.

Мы будем использовать проект из предыдущей статьи.

Сегодня мы будем расширять функционал нашего виджета. На этот раз мы добавим подпись под нашей лампочкой, для работы будет использован проект из предыдущей статьи.

Сегодня мы расширим функционал работы с нажатиями клавиши мыши и вращением её колесика, с помощью слотов и сигналов.

Так же мы напишем универсальный метод слота, функционал которого позволит использовать его с любой лампочкой. Для того чтобы отличить одну лампочку от другой мы будем использовать свойства виджетов (property).

Мы будем использовать проект из предыдущей статьи.

Сегодня мы добавим для виджета обработку нажатий кнопок мыши. Виджет будет реагировать на одиночный щелчок левой, правой и центральной кнопки и на движение колесика мыши.  Так же мы проверим двойной щелчок мыши.

Обработку событий с помощью слотов и сигналов мы рассмотрим в следующей статье.

Сегодня мы расширим функционал виджета, созданного в предыдущей статье. Мы добавим новый конструктор, чтобы предоставить возможность менять цвет выключенной лампочки.

Так же мы реализуем механизм смены размера виджета.