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

Qt *

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

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

PyQt6 — полное руководство для новичков. Продолжение

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

В первом материале мы рассказали о создании первого окна, о сигналах, слотах и событиях, а также о виджетах. Сегодня, к старту курса по Fullstack-разработке на Python, делимся продолжением — о макетах, работе с панелями инструментов и меню при помощи QAction, дополнительных и диалоговых окнах. За подробностями приглашаем под кат.

1. Макеты

2. Панели инструментов, меню и QAction

3. Диалоговые окна и окна предупреждений

4. Дополнительные окна

Читать далее
Всего голосов 8: ↑7 и ↓1+6
Комментарии9

Кроссплатформенный переключатель прокси-сервера на Python + Qt

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

Устав искать нормальный портативный инструмент для переключения между моим рабочим прокси-сервером и прямым подключением дома (который, к тому же, работал бы на Windows и Linux), я решил-таки запилить собственную тулзу для этих целей. Вооружившись Python и Qt, начал клепать код в VSCode... Что из этого вышло -- читаем под катом.

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

PyQt6 — полное руководство для новичков

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

К старту курса по разработке на Python делимся детальным руководством по работе с современным PyQt для новичков. Чтобы читать было удобнее, мы объединили несколько статей в одну:

1. Первое приложение

2. Слоты и сигналы

3. Виджеты

За подробностями приглашаем под кат.

Читать далее
Всего голосов 28: ↑27 и ↓1+26
Комментарии14

Сборка и публикация Qt Android приложений через Gitlab CI

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

Доброго времени суток и с Новым Годом хабровчане! В данной статье хочу рассказать как я делал CI/CD на платформе GitLab для кроссплатформенных мобильных приложений написанных на Qt. Пока что только для Android, но в будущем возможно получится сделать и для iOS. Кого заинтересовал, прошу пожаловать под кат.

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

Истории

История одной фичи в Qt Multimedia

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

Несмотря на рекомендации мейнтейнеров, этот модуль каждый раз возраждается в Qt Essentials Modules.

Некоторые требовали закопать и не откапывать, чтобы в мире было меньше страданий.

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

Модуль, который хейтили много поколений разработчиков.

Речь пойдет про Qt Multimedia
Всего голосов 14: ↑14 и ↓0+14
Комментарии28

Приложение для аудиозвонков с регулировкой звука, как в реальной жизни

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

Распространенная в пандемию ситуация: общаетесь с друзьями или коллегами по Zoom, несколько человек начинают говорить одновременно и… разобрать хоть что-то не представляется возможным. Эта проблема натолкнула нас на идею написать свое приложение для аудиозвонков, где громкость регулируется весьма необычным образом. У каждого пользователя есть свой аватар — кружок на плоскости, который управляется перетаскиванием. Чем ближе аватары пользователей на экране, тем громче они друг друга слышат. Работает ли это? В целом да. Рассказываем, что у нас получилось.

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

Простой GUI калькулятор на Python #3. Backspace, отрицание и регулировка размера шрифта

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

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

Дописываем!
Всего голосов 6: ↑6 и ↓0+6
Комментарии11

Десктопный клиент для Apache Kafka, преобразуем protobuf в json

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

Продолжаю делать пилить свой petproject. Что нового с прошлой публикацией: запись; сообщений в кафку; создание/удаление топиков; бинарные сборки для OSX и Windows.

Сейчас подошел к тому ради чего все это затевалось: декодирование protobuf без schema registry и кодогенерации и всё это на C++.

Читать далее
Рейтинг0
Комментарии0

Простой GUI калькулятор на Python #2. Основной функционал

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

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

Правильно!
Всего голосов 13: ↑13 и ↓0+13
Комментарии10

Простой GUI калькулятор на Python #1. Дизайн приложения

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

Штош. Наверное, каждый начинающий программист после "Hello, world!" хочет написать какой-нибудь простенький проект. Почти всегда в голову приходит идея создания калькулятора. Но консольный калькулятор - это как-то скучно и просто. Хочется сделать приложение прямо как в системе. Ну или хотя бы что-то похожее.

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

Научиться!
Всего голосов 22: ↑22 и ↓0+22
Комментарии23

Адаптация Qt-приложений под мониторы высокой чёткости. Часть 2

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

В прошлой статье мы начали рассказ о рецептах, посвященных переводу Qt-приложений на рельсы High DPI, то есть адаптации этих приложений к мониторам высокой четкости.

Суть в том, что в ОС Windows давно есть такие настройки, как масштабирование шрифта и изображений (масштаб экрана), которые применяются для увеличения слишком малых элементов GUI на мониторах с высокой чёткостью (High DPI). Однако не каждое приложение, написанное на Qt, способно адекватно учитывать, применять этот самый масштаб экрана. Частая ситуация – приложение хорошо выглядит на Full HD (1920x1080), но стоит поставить монитор 4K (3840x2160) и увеличить масштаб экрана, то появляются многочисленные артефакты.

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

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

USB CDC Bootloader для STM32F103C8

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

При проектировании устройства на микроконтроллере бывает встает вопрос об обновлении прошивки прибора. Причем сам процесс обновления прошивки должен быть простым и доступным для обыкновенного пользователя. И конкретно для микроконтроллера STM32F103C8 возможна загрузка прошивки по UART. То есть к схеме необходимо добавлять микросхему конвертера USB-UART. Либо воспользоваться аппаратными возможностями USB микроконтроллера, что я и сделал. Меня заинтересовал вопрос о возможности обновления прошивки по USB. На некоторых МК даже есть аппаратный USB-загрузчик, но только не на STM32F103C8, поэтому пришлось все программно реализовывать. По программной части для STM32 существует USB Library от STMicroelectronics с реализованными классами USB и примерами. В частности заинтересовал класс DFU т.е. загрузка прошивки по USB. В данном классе уже реализован свой набор команд для взаимодействия МК и приложения на ПК "STM32CubeProgrammer". Но мне хотелось что-то своё, кастомное и неограниченное данным набором команд. И пришла мысль "А почему бы не реализовать всё это в классе CDC?". Тут и размер загрузчика примерно таким же оказался, но главное можно реализовать свой набор команд, работать на ПК с последовательным портом и соответственно понятнее, как написать приложение для ПК. У меня есть небольшой опыт написания приложений с использованием библиотеки QT на С++, поэтому с ее помощью была создана программа для USB загрузчика.

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

Адаптация Qt-приложений под мониторы высокой чёткости. Часть 1

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

В связи с техническим прогрессом рынок мониторов постоянно обновляется моделями с повышенным разрешением, плотностью пикселей и/или размером экрана. Году в 2010 стандартным монитором можно было считать экземпляр 19’’ c разрешением WXGA++ (1600*900) и фактической плотностью пикселей 97 DPI (dots per inch). Сейчас (2021 год) стандартным монитором, думаю, можно признать экземпляр 24’’ c разрешением Full HD (1920*1080) и плотностью пикселей 92 DPI. Под «стандартным» я понимаю тот монитор, который стоит на рабочем месте у большинства работающего люда: инженеры, бухгалтеры, переводчики и т.д. (при этом, конечно, «стандартность» — это субъективная и приблизительная оценка). Относительно новые и отчасти нишевые модели (для фотографов, видеографов, геймеров) имеют характеристики: 4K UHD (3840*2160) и 28’’ (157 DPI) или UWQHD (3440x1440) и 34" (109 DPI) или QHD (2560x1440) и 27" (109 DPI) или UWHD (2560x1080) и 29" (96 DPI). Таким образом, наблюдается рост в связанных группах признаков: разрешение+размер экрана, или разрешение+плотность пикселей, или даже разрешение+плотность пикселей+размер экрана. На рынке ноутбуков в плане экранов похожая ситуация – растет разрешение+плотность пикселей.

К сожалению, не всегда программное обеспечение поспевает за ростом характеристик мониторов. Нередко оно выглядит немного коряво и неухоженно, что расстраивает пользователя. Действительно, на дворе 21 век, а зачастую приходится видеть размытые шрифты, а иногда и микроскопические иконки.

Что касается высокой чёткости (большой плотности пикселей), то в ОС Windows давно есть такие настройки, как масштабирование шрифта и изображений (масштаб экрана), которые применяются для увеличения слишком малых элементов GUI на мониторах с высокой чёткостью (High DPI). Также есть поддержка в платформе Qt (с нюансами, об этом далее). Однако способно ли Ваше, конкретное ПО их адекватно учитывать, применять?

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

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

Weekend Offer в AliExpress
Дата20 – 21 апреля
Время10:00 – 20:00
Место
Онлайн
Конференция «Я.Железо»
Дата18 мая
Время14:00 – 23:59
Место
МоскваОнлайн

Заводим трактор: QMake -> CMake

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

Заводим трактор: переезжаем с QMake на CMake🚜

По дороге заглянем на улицу "Кросс компиляторщиков", в сквер "Систем сборки" и посидим в баре "Управления зависимостями". Заодно увидим тех, кто использует Qt в embedded linux.

Поехали
Всего голосов 10: ↑8 и ↓2+6
Комментарии19

Новости из жизни Haiku за август-сентябрь 2021

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

Здравствуйте, дорогие друзья. Продолжаю Вас знакомить на Хабре с новостями проекта Haiku.

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

Подружить QtTest с GCOV/LCOV для покрытия кода используя сборочную систему QBS

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

Интеграция утилит покрытия кода gcov/lcov в проект на базе сборочной системы QBS.

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

Новости из жизни Haiku за июль-август 2021

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

Здравствуйте, дорогие друзья.

Исторически сложилось, что изначально сообщество BeOS/Haiku обитало на qube.ru и Jabber-канале. Но, со временем оно перебралось в телеграмм канал и vk-сообщество, где участники сообщества, кто есть в VK, собирают и обсуждают новости проекта.

И в данном материале я хочу рассказать Вам новости из жизни Haiku накопившееся за июль-часть августа.

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

Linux на мобилках, PDFium и как рендерить PDF в 2 раза быстрее

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

Привет, Хабр! В этой статье хотим рассказать о том, как мы протестировали три основные открытые библиотеки для работы с PDF-документами: Poppler, PDFium и MuPDF. Сравнили скорость рендера документов разного объёма, качество рендера, требования к технологиям разработки и условия лицензий для коммерческих продуктов на базе этих библиотек. Спойлер: победителем стала библиотека PDFium, но, как всегда, есть нюансы. Под катом обо всём по порядку.

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

Делаем свой десктопный GUI к Apache Kafka или Conduktor для обездоленных

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

— Я духов вызывать могу из бездны!
— И я могу, и всякий это может. Вопрос лишь, явятся ль они на зов.

Шекспир, Генрих IV

Как-то так сложилось, что у нас не так много UI для Apache Kafka. А если хочется именно desktop, то Offset Explorer и упомянутый Conduktor. Первый имеет морально устаревший интерфейс 2000х, а второй не оправдано дорогой, т. к. не использую весь его богатый функционал. Вооружившись Qt и librdkafka, набросал conduktor на минималках.

Пошли разбираться в QtQuick
Всего голосов 7: ↑7 и ↓0+7
Комментарии8

Как вывести рендеринг карт на сверхзвук и не…

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

В данной статье я расскажу как я делал тайлер на основе openstreetmaps на С++/Qt. Задача была написать картографический модуль приложению для поисково-спасательных отрядов, которые работают в условиях недоступного интернет соединения и возможно целые сутки, поэтому требования к картографическому модулю стояли следующие:

- работа в оффлайн режиме

- насколько это возможно быстрый рендеринг определённой области на карте

- высокая энергоэффективность загрузки и отображения тайлов на карте

Читать далее
Всего голосов 14: ↑12 и ↓2+10
Комментарии22