Реклама

SetWindowsHookEx — Логирование событий мыши через WinAPI

Функционал WinAPI позволяет на низком уровне с помощью хуков отслеживать события системы, такие как движение и клики мыши. Данный функционал работает на основе функций callback, поэтому если хочется использовать ООП и систему сигналов с слотов, то нужно будет один из методов передавать в качестве функции callback в функцию по регистрации callback в системе Windows. Но…

Логирование событий Qt приложения в текстовый файл

Все Qt-разработчики используют qDebug(), когда отлаживают приложение, написанное на Qt, но также имеются макросы qInfo(), qWarning(), qCritical() и qFatal() (который на момент написания статьи был с ошибками и не работал). С помощью этих событий, вы можете разделить ошибки по уровням значимости и применить фильтры, для разделения того, какие ошибки нужно выводить, а какие нет. Для перенаправления сообщений об ошибках в…
Advertisement

Динамический перевод мультиязычного приложения на QML

После того, как мы ознакомились с переводами интерфейса приложения на Qt/C++, настало время изучить возможности динамического перевода приложения, интерфейс которого написан на QML. При разработке на QML есть пара моментов, которые нужно учесть, в отличие от стандартного приложения на QWidgets, а именно: Требуется дополнительная настройка .pro файла проекта; Сам процесс загрузки переводов для нужного языка…

QTranslator — динамический перевод мультиязычного приложения на Qt

Рано или поздно разработчик приложений на Qt встречается с необходимостью поддержки мультиязычности в своём приложении. Вот тогда на помощь и приходит класс QTranslator и специализированное приложение для создания переводов Qt Linguist. Объект класса QTranslator используется для загрузки переводов из специального файла с расширением .qm, который является шестнадцатеричным файлом переводов. Данный файл компилируется из файла переводов в XML…

Ruby on Rails — Генерирование ресурсов

После того, как удалось получить в предыдущей статье рабочий вариант веб-приложения на Ruby, пошёл разбираться дальше с разработкой и генерированием ресурсов, а также с изучением архитектуры веб-приложений Ruby on Rails. Благо данный фреймворк использует паттерн MVC, который также используется в  Qt, поэтому в целом с пониманием архитектуры проблем возникнуть не должно. В процессе поиска источников информации…

Ruby on Rails — Первый старт под Windows

Работая с WordPress на хостинг-провайдере TimeWeb уже почти год, начинаю проявлять всё больший интерес к веб-разработке. В частности это также связано с тем, что данная CMS всё же достаточно прожорлива до ресурсов, а также и с тем, что начинают появляться мысли по поводу новых проектов. Да и в плане расширения кругозора в области программирования хотелось бы…

QThread — работа с потоками с помощью moveToThread

В предыдущей статье мы только коснулись работы с потоками, причём в том варианте, который служит больше для кастомизации самого потока, хотя и может быть использован для совершения посторонней работы, никак не связанной непосредственно с потоками. То есть вариант с наследованием от QThread и переопределение метода run().  Теперь же мы создадим класс ExampleObject, объекты которого будут…

QThread — создание потоков в Qt

Одним из распространённых способов создания отдельных параллельных потоков в приложении на Qt и выполнения полезных действий в них является наследование от класса QThread и переопределение метода run(), в котором и будет выполняться полезный код приложения. При знакомстве с потоками довелось прочитать различные мнения на эту тему, и в данном уроке познакомимся с одним из возможных…

Onvif и gSoap (Часть 1) — Введение

Onvif является стандартным протоколом, разработанным для поиска и управления IP-камерами. До разработки данного протокола каждый производитель имел собственное API для обмена информацией и изменения настроек оборудования. Onvif же является открытым унифицированным стандартом. Onvif является Web-сервисным протоколом, в котором камера представляется в качестве сервера. Функции разделяются на категории, которые основаны на функционале камеры (Например, потоковое вещание, настройка…

EColor v0.1.7

Выпущена EColor v0.1.7. Данная версия не отличается дополнительным функционал от предыдущей версии. Но в данной версии улучшена производительность, за счёт дополнительных проверок на срабатывание изменений в коде, если они действительно были. А также исправлены баги с изменением цветовой гаммы цветовых лейблов. Теперь их цвета также изменяются при изменении бегунков яркости. Спасибо за пулл-реквест от пользователя…