Последнее обновление:
October 19, 2020

Есть мысль... Жми, напиши!
Новости

  • Рубрик нет

Qt QCoreApplication или EventLoop в DLL

Потребовалось мне создать динамическую dll для сторонней программы (не Qt). Разумеется, хотелось использовать все возможности Qt, а именно сигналы/слоты/QTCPSocket и прочее. Но для их работы нужна очередь событий (EventLoop), то есть либо QCoreApplication, либо QEventLoop. Но в dll этого нет. Можно, конечно, сигналы-слоты использовать с Qt::DirectConnect (прямой вызов), но тогда всё равно не будут нормально […]

Views :

47

Qt QML OpenGL(es) application on Linux without X11/Wayland/etc (kiosk mode)

Потребовалось мне сделать управляющий софт под один девайс. То есть при загрузке он должен сразу стартовать и отображаться всё время на экране. По сути типо терминала. Зовётся это в народе «режим киоска». Можно было бы не париться и установить обычную, десктопную систему, но очень не хотелось тащить оконный менеджер, оболочку и прочее за собой, дабы […]

Views :

266

Qt, QQuickPaintedItem отрисовка в отрицательных координатах (paint outside bounds).

Потребовалась мне тут на днях отрисовка сложных графиков в QML. Увы, но возможностей существующих графиков не хватило — пришлось изобретать свои. Проблема возникла с тем, что по умолчанию всё, что имеет отрицательные координаты x и y будет подвергнуто кастрации. Да же если поставим: И попробуем вывести круг: Всё, что меньше (0, 0) будет обрезано: Можно […]

Views :

44

Статическая сборка Qt 5.12 из исходников под Windows

Потребовалось мне тут, что бы Qt приложение было в одном exe.  Для этого придётся перекомпилировать Qt. Качаем: Git Качаем: Perl, версию 32х битную. Качаем: Python 2 (У меня 2.7). Качаем: MinGW, y меня 730 (для распаковки нужен 7Zip, запускать «C:\Programm Files (x86)\7-Zip\7zFM.exe»). Открываем консольку (Win+R, вводим cmd), прописываем необходимые системные переменные (пути замените на свои): Переходим […]

Views :

3388

Qt, вызов функции с ограничением по времени выполнения (QtConcurrent::run timeout).

Потребовалось в одном проекте в критическом к скорости выполнения месте дёргать функции сторонней библиотеки, но загвоздка в том, что эти функции внутри ещё и дожидаются результата в цикле/магия. Мне от неё важно только получить код ошибки (если сразу возник), другой результат не так важен (потом запрашивается отдельно). В общем задача: запустить функцию, по возможности дождаться […]

Views :

333

Qt, QEventLoop and connect/disconnect lambda function

Приветствую! Кому некогда, можно сразу прыгнуть в конец к итогу. Бывают ситуации, когда нужно синхронно дождаться завершения асинхронного действия, при этом не подвешивая основной поток (например, не продолжать выполнение функции, пока ответ в QTCPSocket onReadyRead от сервера не придёт).    В нашем случае для примера давайте подождём с выполнением функции, пока таймер не досчитает до […]

Views :

856

Кросскомпиляция Qt 5.12 для Raspberry Pi 1,2,3 B+ под Windows

В общем на Ubuntu скомпилили, открываем пост и компилим теперь под Windows. 1. Качаем актуальную версию Raspbian и с помощью WinFLASHTool  пишем её на сд карточку. 2. Так же. 3. В дальнейшем везде будет подразумеваться х86 версия. Качаем msys2, ставим в папку C:\SysGCC\msys2\ Качаем MinGW (у меня 730), распаковываем  в папку C:\SysGCC\mingw32 с соблюдением структуры. Качаем Perl. Запускаем […]

Views :

3804

Хоткеи на клавиши мыши

Добрался до настройки кнопок своей мыши, у которой их что-то дофига, и что бы зря не пропадали, решил повесить на них хоткеи. Устанавливаем xbindkeys для отлова событий и запуска нужных комманд, а что бы вместо запуска комманд мы эмулировали нажатие клавиш установим ещё и xautomation   sudo apt-get install xbindkeys sudo apt-get install xautomation сразу создаём дефолтный […]

Views :

554

Android MySql (QMysql) драйвер для Qt5.6 на Windows и Linux компиляция

В общем понадобилось портировать одну прогу под Андроид arm7, но она плотненько работает с базой данных, а так как я человек впринципе ленивый, то обёртку для REST API сервера было лень писать, решился на компилирование MySQL плагина, но если бы я знал тогда, что это займёт у меня 20 часов…   В общем вот вам готовый […]

Views :

1528

ldd на Андроид

После портирования проги на девайс, прога в упор не хотела видеть одну из библиотек, решил глянуть через ldd, что же ей надо, но ldd на Андроиде не оказалось =(, а просто ldd её не воспринимает. Чтож, будем делать аналог ldd но для arm =) Вот так: echo 'readelf -d $1 | grep "\(NEEDED\)" | sed […]

Views :

843