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

Qt *

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

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

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

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

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

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

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

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

Новости

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Zoom в Qt виджете

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Доброго времени года, уважаемые хабровчане! Я занимаюсь разработкой десктоп‑приложений с 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 мин
Количество просмотров12K

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

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

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

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

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

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

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

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

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

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

Вчера, 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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

QCustomPlot + FetchContent

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

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

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

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

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

Как мы распознавали машины с камеры мобильного телефона с помощью 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
1
23 ...

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

Работа

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