Как стать автором
Обновить
1.62

Qt *

Кроссплатформенный инструментарий разработки ПО

Сначала показывать
Порог рейтинга
Уровень сложности

Размышление об Active Object в контексте Qt6. Часть 1

Время на прочтение5 мин
Количество просмотров4.9K

На дворе четыре часа ночи. В душе не понимаю, зачем я это пишу, чего я хочу этим добиться, и т.д. Если вкратце, то это будет цикл статей из разряда "хоба, как могу", причём это самое "хоба" зачастую слишком очевидно и элементарно, да и далеко не всегда полезно, особенно, в контексте философии Qt. Так что это будут просто "размышления обо всём".

Читать далее
Всего голосов 11: ↑11 и ↓0+11
Комментарии0

Настраиваем окружение Qt6+QtC без VPN

Время на прочтение3 мин
Количество просмотров38K

Как известно, с недавних пор сервера qt.io запрещают загрузку любых архивов с российских IP. Если первое время проверка шла только на получение метаинформации, теперь любая загрузка файла обрывается сервером.

Обычные советы, как это обойти, включают:

Используй платный безлимитный VPN;
Используй дистрибутив Linux и его бинарные сборки;
Собирай сам из исходинков.

Все это рабочие советы, но не очень дружелюбны к начинающим разработчикам, которые только hello world начинают собирать. Я расскажу, как можно быстро настроить окружение используя зеркала Yandex и github.

Читать далее
Всего голосов 12: ↑12 и ↓0+12
Комментарии35

Локализация Qt-приложений

Время на прочтение9 мин
Количество просмотров7.1K

Привет, земляне, в этой статье я хочу затронуть вопрос интернационализации Qt-приложений, поделиться своим опытом, показать легкость работы с предоставленными инструментами и некоторые неочевидные моменты, которые могут возникнуть...

Читать далее
Всего голосов 6: ↑5 и ↓1+4
Комментарии10

Создаём сложные интерфейсы и спецэффекты на базе Qt. Часть II

Время на прочтение25 мин
Количество просмотров14K

Привет, Хабр! Меня зовут Михаил Полукаров, я занимаюсь разработкой desktop-версии в команде VK Teams. В первой части я рассказывал о том, как использовать маски и создавать сложные многослойные окна. Под катом этой статьи мы продолжим исследовать возможности Qt Framework, рассмотрим полупрозрачность и управление буксировкой окна, а также реализуем интересный спецэффект. В конце статьи рассмотрим, как можно применить на практике весь, изложенный в этом цикле статей, материал для создания современного демонстрационного приложения.

Читать далее
Всего голосов 59: ↑59 и ↓0+59
Комментарии8

Истории

Как я сделал полноценный проект из ничего от одной Bitcoin платёжки на Python

Время на прочтение7 мин
Количество просмотров9.5K

В этой статье хочу рассказать, как можно из обычных вещей сделать нечто большее и новое используя python, qt и bitcoin библиотеки.

Читать далее
Всего голосов 15: ↑11 и ↓4+7
Комментарии7

Создание пользовательской клавиатуры

Время на прочтение6 мин
Количество просмотров5.4K

В данной статье рассказывается о создании клавиатуры на простейших деталях: плате Arduino Uno, проводах и 5 кнопках. Для компьютера создается программа на Python, используя библиотеку PyQt5.

Читать далее
Всего голосов 11: ↑5 и ↓6-1
Комментарии21

ОС Аврора 4.0.2 для разработчиков: обзор и примеры исходного кода

Время на прочтение18 мин
Количество просмотров23K

Релиз ОС Аврора 4.0.2 — первый сертифицируемый выпуск четвёртого поколения операционной системы, именно он теперь будет использоваться на устройствах в актуальных проектах.

В этой статье мы расскажем о ключевых нововведениях и детально рассмотрим некоторые важные для разработчиков изменения (изоляцию приложений, валидацию и подписание пакетов). На примере приложения «Push Receiver» мы разберём обновлённую регистрацию D-Bus служб и покажем, как адаптировать приложение под ОС Аврора 4.0.2 с фокусом на важные особенности исходного кода приложений для нового поколения операционной системы.

Видеообзор основных нововведений Аврора 4.0

Читать далее
Всего голосов 18: ↑13 и ↓5+8
Комментарии13

Squish для Qt глазами разработчика

Время на прочтение10 мин
Количество просмотров3.9K

Squish - это платный инструмент для автоматического тестирования пользовательского интерфейса. Есть Squish для QT, Squish для Windows, для веба, для Java и iOS.

Во всех случаях тестовые сценарии - это скрипты на питоне или других скриптовых языках.

Рассмотрим следующие моменты при работе со Squish для QT на питоне:

Настройка и запуск без Squish IDE.

Real name, symbolic name и явные имена.

Прокси-объекты и их сравнение.

Suid на тестируемом приложении.

Тестирование рендеринга с помощью скриншотов.

Неудобство API Squish и работа без него: симуляция ввода, элементы списков и таблиц.

Добавление методов в метаобъект для вызова через Squish.

Подробнее
Всего голосов 8: ↑8 и ↓0+8
Комментарии2

Как мы навели порядок в C++/Qt проекте с помощью Conan

Время на прочтение12 мин
Количество просмотров13K

О себе

Привет, Хабр! Я Тимлид/Архитектор в компании Монитор Софт. В прошлом C++ разработчик, сейчас все еще удается иногда выходить в поля)). Хочу поделиться нашим опытом использования Conan. С момента описываемых ниже событий прошло года 4, и в целом наше решение уже прошло проверку временем.

Читать далее
Всего голосов 23: ↑22 и ↓1+21
Комментарии16

Создаем сложные интерфейсы и спецэффекты на базе Qt. Часть I

Время на прочтение18 мин
Количество просмотров24K

Привет, Хабр! Меня зовут Михаил Полукаров, я занимаюсь разработкой desktop-версии в команде VK Teams. Каждый день нашим мессенджером пользуются миллионы людей, поэтому мы уделяем особое внимание интерфейсу пользователя. Он должен быть не только функциональным и отзывчивым, но ещё и привлекательным с эстетической точки зрения. Для создания графических интерфейсов мы используем Qt Framework, и уже накопили много опыта в решении нетривиальных задач с помощью этого инструмента. Настолько много, что статью пришлось разделить на две части. 

Под катом мы пройдём путь от создания отдельных компонентов-примеров, экспериментов с маскированием, прозрачностью, размытием и перекрывающимися компонентами до разработки небольшого демонстрационного приложения, объединяющего все полученные ранее решения.
Читать дальше →
Всего голосов 47: ↑46 и ↓1+45
Комментарии7

Tiny-qORM: рассказ без счастливого конца

Время на прочтение18 мин
Количество просмотров3.1K
Чаще всего на хабре люди делятся историями своего успеха. Вроде, «Ребята, я написал свою ORM, качайте, ставьте ллойсы!» Эта история будет немного другая. В ней я расскажу о неуспехе, который считаю своим серьёзным достижением.


Ожидание — реальность.

История о метатипах Qt, написании велосипедов, превышении максимального числа записей в объектном файле и, неожиданно, инструменте, который работает так, как и было задумано.
Все заинтересовавшиеся - под кат
Всего голосов 14: ↑14 и ↓0+14
Комментарии5

Рисуем карту сервисов при помощи Qt Quick и GraphViz

Время на прочтение7 мин
Количество просмотров2.2K

Решил запрототипировать два представления в дополнение к стандартному Jaeger UI. Это построение карты сервисов по трейсу; просмотрщик логов без пиксельхантинга и разворачивания спанов. Для виджетов есть обертка в виде nbergont/qgv, а хочется сделать на QtQuick.

Читать далее
Всего голосов 4: ↑4 и ↓0+4
Комментарии1

GUI Генератор паролей на Python

Время на прочтение16 мин
Количество просмотров31K

Штош. В этой статье я научу вас делать кроссплатформенное приложение генератор паролей с графическим интерфейсом. Мы будем использовать язык Python и библиотеку PySide6 - привязку к инструментарию фреймворка Qt.

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

В статье я постарался затронуть все моменты создания и сборки приложения. Ознакомиться с проектом можно на GitHub.

Штош
Всего голосов 27: ↑26 и ↓1+25
Комментарии20

Ближайшие события

OAuth2.0 авторизация в Vk средствами Qt5.8 и выше

Время на прочтение5 мин
Количество просмотров13K

Qt5.8 принёс нам QNetworkAuthorization -- модуль авторизации на сторонних сервисах. Пока что поддерживаются только протоколы OAuth и OAuth2.0, но обещали позже подвезти и OpenID.

А пока разберёмся, как использовать этот инструмент совместно с VkApi для Authorization Code Flow

Читать далее
Всего голосов 9: ↑9 и ↓0+9
Комментарии19

Как я хакнул свой автомобиль: завершение истории

Время на прочтение19 мин
Количество просмотров20K
Если вы не читали первую часть статьи, то сделайте это.

Часть 2: создаём бэкдор


Хватит ждать


28 апреля 2022 года выпустили новые версии обновлений прошивок Display Audio для автомобилей Hyundai и Kia. К счастью, в том числе и для моей машины.


Я сразу же принялся за разработку собственного обновления прошивки с бэкдором.
Читать дальше →
Всего голосов 135: ↑135 и ↓0+135
Комментарии15

Автоматическое тестирование QT GUI с помощью python и funq

Время на прочтение5 мин
Количество просмотров9.2K

В этой статье я хочу поделиться недавно открытым для себя инструментарием, позволяющим создавать кроссплатформенные автотесты для приложений на QT.

Читать далее
Всего голосов 12: ↑12 и ↓0+12
Комментарии5

Как пакетно конвертировать изображения и видео в гифки с помощью FFmpeg минуя CLI

Время на прочтение6 мин
Количество просмотров4.3K

Привет, земляне. Многие из вас слышали про набор библиотек FFmpeg, а некоторые его активно используют. Я из их числа, но я не поклонник взаимодействия с приложением посредством текстовых команд, поэтому я предлагаю собственное приложение с графическим интерфейсом для взаимодействия с FFmpeg. Теперь, не нужно изучать текстовый интерфейс, чтобы произвести пакетное конвертирование изображений и видео в GIF-файлы высокого качества.

Пожалуйста, подробнее
Всего голосов 15: ↑11 и ↓4+7
Комментарии16

Оптимизация GUI на Qt

Время на прочтение12 мин
Количество просмотров12K

Как правило, при создании desktop-приложений на платформе Qt не возникает проблем, связанных с медленностью работы GUI. Qt – платформа достаточно надежная, неплохо вылизанная по всем параметрам, в том числе и по скорости работы. Однако всё же иногда бывают ситуации, когда из-за обилия виджетов графический интерфейс немного притормаживает, и это печально). В этой статье я приведу один частный пример простого графического интерфейса и покажу, как за два шага можно сначала ускорить его в 11 раз, а потом и в целых 34 раза. Вдобавок к этому, я постараюсь немного осветить механизм принятия решения для таких оптимизационных задач, постараюсь показать направление мыслей для правильного решения. Поехали!

Читать далее
Всего голосов 17: ↑17 и ↓0+17
Комментарии23

QML Самоучитель

Время на прочтение7 мин
Количество просмотров30K

Уже давно вышла версия Qt4 c поддержкой QML. С тех пор многое допиливалось и сейчас технология является довольно успешной и стабильной. Однако нормального описания так и не удавалось найти на русском языке. А на английском написано так, как говорится, "правой рукой, да левое ухо". Поэтому решил начать перевод самоучителя (пока базового, затем планирую расширенный) на русский язык. Собственно, найти самоучитель можно на моем GitHub или здесь ниже.

Читать далее
Всего голосов 13: ↑11 и ↓2+9
Комментарии9

Кросс-компиляция Qt в России

Время на прочтение3 мин
Количество просмотров43K

Легальная установка Qt в России + кросс-компиляция Qt под Windows

Читать далее
Всего голосов 36: ↑28 и ↓8+20
Комментарии37

Вклад авторов

Работа

QT разработчик
8 вакансий