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

Qt *

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

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

Разработка Desktop приложений на Python и библиотеки PySide6/PyQt6. Часть 2. Знакомство с виджетами и Qt Designer

Уровень сложности Простой
Время на прочтение 5 мин
Количество просмотров 6.1K

Мы продолжаем изучать PySide6/PyQt6 и сейчас мы с Вами познакомимся с виджетами, компоновкой и Qt Designer

Ссылка на 1 урок с установкой PySide6 и создания первого приложения.

PySide6 включают в себя довольно большое количество встроенных виджетов. Вы можете найти более подробную информацию в официальной документации PySide6.

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

Новости

Разработка Desktop приложений на Python и библиотеки PySide6/PyQt6. Часть 1. Установка и первое приложение на PySide6

Уровень сложности Простой
Время на прочтение 4 мин
Количество просмотров 9.6K

Сегодня мы с Вами рассмотрим прекрасную библиотеку PySide6, которая является оберткой для взаимодействия с Qt при помощи языка Python, которые позволяет вам использовать Python для написания desktop-приложений Qt.

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

Окно индикации какого-то процесса на Qt

Уровень сложности Средний
Время на прочтение 3 мин
Количество просмотров 3.4K

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

Основная идея универсальности в вызове у об'екта слота по наименованию , передача параметров через QVariant (до 10шт.), возврат результата тоже через QVariant.

Все это реализуется без проблем через вызов метода invokeMethod.

Через параметры QVariant мы можем передавать и возвращать все , что угодно - какие-то свои классы, главное не забыть в конце определения таких классов добавлять макрос Q_DECLARE_METATYPE(имя вашего класса)

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

Тестируем многоядерный процессор методом Кнута и Python’а

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

В 1978 году вышел третий том монографии Дональда Кнута «Искусство программирования», где автор рассматривает алгоритмы сортировки и поиска. Помимо самих алгоритмов описаны аппаратные характеристики компьютера и их влияние на производительность при работе с алгоритмами.

В 2024 году мы с вами возьмём классические алгоритмы сортировки и посмотрим, как работает современный многоядерный процессор при сортировке нескольких массивов на одном и нескольких логических ядрах. Мы напишем приложение с графическим интерфейсом (GUI) на фреймворке Qt, обойдем глобальную блокировку интерпретатора (GIL), воспользуемся несколькими потоками, на один из которых переложим выполнение асинхронного цикла событий, и распараллелим этот поток для реализации параллельных вычислений.

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

Истории

Использование Cocoapods для приложения Qt на примере Google MLKit

Уровень сложности Средний
Время на прочтение 10 мин
Количество просмотров 900

Возникла необходимость встроить MLKit в приложение айос. Началось с того, что по каким-то причинам используемые в приложении (андроид и айос) zbar и zxing (работали параллельно для улучшения результатов на обоих ОС) стали плохо работать. В чём проблема я так и не понял, потому-что решил попробовать MLKit – тем более, что они обещали поддержку как для андроида, так и для айос. А ещё потому, что клиенты давно просят добавить распознавание текста – совсем я их разбаловал сканами штрихкодов, VIN (приложение для СТО) и т.п. А тут ещё добавляем новый складской функционал, где для инвентаризации и приёмки нужно много вводить текста, и это на мобильном девайсе. В общем, решено было выбросить zbar/zxing связку и воспользоваться возможностями Google MLKit.

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

Zoom в Qt виджете

Уровень сложности Простой
Время на прочтение 7 мин
Количество просмотров 3.5K

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

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

Qt Creator* ищет ошибки в Qt Creator

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

Как-то так странно получилось, что у нас уже почти год как существует и поддерживается плагин PVS-Studio для Qt Creator. И при этом мы до сих пор не выпустили хорошей статьи с проверкой самой IDE. Исправляем сие недоразумение и предлагаем вам посмотреть, чем живёт недавно переродившаяся среда для разработки.

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

Как нуб писал софт при помощи ChatGPT

Уровень сложности Простой
Время на прочтение 10 мин
Количество просмотров 39K

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

Читать далее
Всего голосов 32: ↑29 и ↓3 +26
Комментарии 50

Lesta Studio и её тестовое задание с подвохом

Уровень сложности Простой
Время на прочтение 6 мин
Количество просмотров 41K

Искали статеечку с жалобами джуна о несправедливости IT? Так вот же она!

Открытая к интерпретации история собеседования.

Читать далее
Всего голосов 85: ↑77 и ↓8 +69
Комментарии 170

Как Visual Studio могла бы выглядеть с новым меню: делюсь GUI-шаблоном

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

Доброго времени года, уважаемые хабровчане! Я занимаюсь разработкой десктоп‑приложений с 2008 года. Наша компания делает специализированные продукты из области ЦОС (DSP), и GUI выглядит как нечто среднее между AutoCAD, Total Commander и Visual Studio. Не для домохозяек. Без видеоуроков и прочих туториалов особо не попользуешься.

В какой‑то момент мы пришли к необходимости полностью переработать меню наших приложений. Стало очевидно, что классическое меню в связке с панелью инструментов — это не лучшее решение. Когда количество уникальных функций (команд уровня меню) перевалило за сотню, то количество переросло в качество: пользователям стало все сложнее находить для себя требуемый, минимально достаточный work set. Особенно тяжко было новым пользователям. Хоть мы в исправности поставляли и видео‑уроки, и прочие туториалы, это не сильно помогало, поскольку далеко не каждый пользователь был согласен в них залезать. В общем, мы поставили себе задачу понизить порог входа в мир наших продуктов за счет изменения концепции меню.

И тут оказалось (внезапно), что развитие GUI в мире десктопа фактически стоит на паузе. Никто ничего нового особо не предлагает. Я пытался найти в окружающем мире какие‑то интересные gui‑шаблоны. Искал в литературе, искал в дистрибутивах известных desktop‑продуктов, поглядывал и на мобилки. Но нигде не нашел. Весь мир был слишком занят мобильной и веб‑разработкой. А гиганты десктопа (Adobe, Microsoft) были слишком связаны принципом «не трогай, если работает» (ну, или просто погрязли в собственном спагетти‑коде). Наконец, я перестал кого‑то ждать и сам сел за решение. И я его придумал и внедрил в нашу продуктовую линейку. И теперь хочу поделиться им с вами.

Чтобы мое решение было проще понять, я не буду его описывать на примере наших, узкоспециализированных программных продуктов ЦОС. Я просто покажу, как будет выглядеть всем известная среда разработки Microsoft Visual Studio, если применить к ней мой принцип формирования меню приложения.

Читать далее
Всего голосов 26: ↑24 и ↓2 +22
Комментарии 31

Создание своего терминала на C++ и Qt: Часть 1

Уровень сложности Средний
Время на прочтение 5 мин
Количество просмотров 11K

Привет, хабр! Сегодня мы создадим свой собственный терминал на языке программирования C++. Я являюсь фанатом Linux, и пользуюсь минималистичными терминальными программами - от Vim как IDE до чатов. Есть множество терминалов, у каждого из них есть плюсы и минусы. Наш терминал не будет претендовать на место серьезного проекта, но если вы хотите улучшить код, который мы сегодня напишем - то вы молодцы, можете без проблем развить наш терминал.

Это будет небольшой, минималистичный терминал для Linux. Он будет на основе фреймворка Qt 5 и библиотеки qtermwidget5.

И эта будет не одна статья, а целая серия статей!

Вперед!
Всего голосов 12: ↑9 и ↓3 +6
Комментарии 22

Фильтруем логи санитайзеров и valgrind на примере приложения с Qt

Уровень сложности Простой
Время на прочтение 9 мин
Количество просмотров 2.7K

Периодически встречающаяся проблемами кода на С и C++ являются утечки памяти и неопределенное поведение. Даже если вы используете умные указатели, то от ошибок в библиотеках сторонних разработчиков вы не застрахованы. Для поиска ошибок в коде существуют специальные инструменты: санитайзеры и valgrind. Однако, не вся информация об ошибках имеет для нас ценность, рассмотрим методы её фильтрации.

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

Выпуск среды разработки Qt Creator 12

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

Вчера, 23 ноября 2023 года вышел релиз среды разработки Qt Creator 12.

Qt Creator (ранее известная под кодовым названием Greenhouse) — свободная IDE для разработки на С, C++, JavaScript и QML. Разработана Trolltech (Digia) для работы с фреймворком Qt. Включает в себя графический интерфейс отладчика и визуальные средства разработки интерфейса как с использованием QtWidgets, так и QML. Поддерживаемые компиляторы: GCC, Clang, MinGW, MSVC, Linux ICC, GCCE, RVCT, WINSCW.

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

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

Московский туристический хакатон
Дата 23 марта – 7 апреля
Место
Москва Онлайн

Пишем свой QTableView (продолжение: кастомные стили)

Уровень сложности Сложный
Время на прочтение 1 мин
Количество просмотров 3.6K

Создаем свой кастомный стиль для QTableView без css стилей и переопределения ролей модели данных. Занимаемся отрисовкой напрямую.

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

Работа с 3D-графикой и визуальными эффектами в Qt Design Studio

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

Чтобы водители получали приятные впечатления от вождения автомобиля, дизайнерам нужны современные инструменты, позволяющие создавать великолепные графические интерфейсы с минимальными затратами времени и сил. Qt Design Studio содержит все необходимые ресурсы для создания потрясающих пользовательских приложений. Они характеризуются современной 3D-графикой и работают с оптимальной производительностью на любой встраиваемой системе.

Современный автомобильный мир все больше склоняется к использованию 3D-графики для улучшения впечатлений от поездки. Мониторы кругового обзора, парковочные ассистенты и навигационные системы для дисплеев на лобовом стекле — вот лишь несколько примеров приложений, интенсивно использующих 3D-графику. Такие интеллектуальные системы помощи водителям (ADAS) используются все чаще, так как они расширяют возможности водителя в плане понимания ситуации благодаря реалистичному отображению автомобиля в окружающей обстановке в реальном времени. Во всех этих случаях «цифровой двойник» стал популярным способом визуализации состояния и работы автомобиля внутри него с помощью передовой 3D-графики.

Давайте вместе посмотрим, как 3D-графика становится частью пользовательских интерфейсов, которыми оснащается цифровая кабина современного автомобиля.

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

Разработка мобильного клиента СДУ «Приоритет» под ОС «Аврора» на фреймворке Qt

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

Всем привет! Меня зовут Илья, и я разработчик ПО в области автоматизации документооборота в компании «Диджитал Дизайн». Так получилось, что изначально я iOS-разработчик, но по воле случая мне удалось поучаствовать в создании мобильного приложения — клиента СДУ «Приоритет» (далее — СЭД, система электронного документооборота) для устройств под управлением мобильной ОС «Аврора». И сейчас, когда первая версия приложения готова, а сам проект находится на этапе внедрения, я бы хотел поделиться полученным опытом и рассказать про особенности разработки под ОС «Аврора» и трудности, с которыми нам пришлось столкнуться в процессе.

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

QCustomPlot + FetchContent

Уровень сложности Простой
Время на прочтение 2 мин
Количество просмотров 2.8K

Изыскание на тему безболезненной интеграции библиотеки QCustomPlot в cmake без похода в браузер за исходниками.

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

Детекция машин на мобилке в 2023. С какими проблемами мы столкнулись и как решали

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

Как мы распознавали машины с камеры мобильного телефона с помощью TensorFlow-lite, C++, Qt и что из этого вышло.

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

Пишем свой QTableView с нуля

Уровень сложности Сложный
Время на прочтение 6 мин
Количество просмотров 11K

Итак жил был фреймворк Qt и последние 10 лет ничего в нем не менялось. И захотел один чел написать свой QTableView с нужным ему функционалом, а именно захотелось ему выводить ячейки в несколько рядов (по горизонтали) в одной строке. Ещё ему хотелось растягивать одну из ячеек по ширине двух других.

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

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

PUSSY – швейцарский нож от мира ПО #ШБР1

Уровень сложности Средний
Время на прочтение 14 мин
Количество просмотров 3.6K

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

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

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

Работа

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