Последнее обновление:
November 20, 2017

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

  • Рубрик нет

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

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

 
В общем вот вам готовый рецепт из […]

Views :

618

ldd на Андроид

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

Views :

327

OpenCV warpPerspective, warpAffine без обрезки (whole image) и размер результата (destination result image size)

В общем потребовалось восстановить перспективу картинки,
на примере этой:

Как обычно — нашли 4 точки на картинке, в данном случае — углы листа, по часовой стрелке, начиная с верхнего левого:
[20, 340]
[860,110]
[1160, 650]
[200, 950]
Хотим, что бы лист располагался прямо, а для этого мы знаем, что ширина и высота листа 870 на 620 пикселей, аналогично координаты по часовой стрелке, […]

Views :

604

QtWebEngine -зависимости или не отображается при запуске скомпилированного бинарника из операционки.

Решил тут хелп для очередной проги запилить в формате html, так как удобнее создавать.
Ну и для отображения был выбран QtWebEngine, написал простейший примерчик:
(Кому нужно просто решить проблему — в самый конец)
*.pro
QT += webengine
main.cpp
#include <QGuiApplication>
#include <QQmlApplicationEngine>
#include <QtWebEngine>
#include <QDebug>

int main(int argc, char *argv[])
{
qDebug()<<"MAIN";
QGuiApplication app(argc, argv);
QQmlApplicationEngine engine; […]

Views :

757

Qt Android JNI преобразование QByteArray в jbytearray и обратно, а так же получение и передача в jni функцию

Подребовалось мне из Java класса вызвать функцию, наподобии этой:
public int send(byte[] data)
{
….
}

Ну а что бы её вызвать из C++ нужно было преобразовать QByteArray в jbytearray
делается это так:
jbyteArray QByteArray2jbyteArray(QByteArray buf)
{
QAndroidJniEnvironment env;
jbyteArray array = […]

Views :

377

Печатаем на фискальнике Custom VKP-80K из c++ на Qt

В общем задача была разобраться с печатью именно фискалки, благо с обычной печатью всё просто, попробуем теперь с ним.
Т.к. дела раньше с фискальниками почти не имел, ссался, что в нём уже стоит ЭКЛЗ и все мои тестовые продажи Нидерландов уйдут в память, а потом при проверке налоговая не досчитается несколько ВВП,
но всё оказалась проще, ЭКЛЗ […]

Views :

477

Qt Получение цвета пикселя экрана/окна (get pixel screen ).

Инклуды:
#include <QApplication>
#include <QPixmap>
#include <QDesktopWidget>
ну и
#include
QPixmap *p = new QPixmap;
QDesktopWidget * descktop = QApplication::desktop();
*p = QPixmap::grabWindow(descktop->winId());
QImage *img = new QImage;
*img = p->toImage();
QRgb b = img->pixel(800,350);
QColor *c = new QColor;
c->setRgb(b);
qDebug() << c->name();

Views :

465

QStringList to QVariantList или приведение QList to QList

В общем потребовалось однажды множество разношёрстных QList<> привести к QVariantList (а он просто QList<QVariant>)
что бы не бегать циклом, воспользуемся итераторами.
QVariantList variants;
QStringList strings;
qCopy(strings.begin(), strings.end(), variants.begin());
Это работает, потому что у QVariant есть конструкторы и для QString и для int и для множества всего. См. доку по QVariant
Вот как то так =)

Views :

528

Qt 5.5 zip архивы zip/unzipped (аналог QuaZIP)

В Qt 5.5 и предыдущих есть замечательный «родной» (ну почти) класс для работы с zip архивами.
На самом деле он используется для каких-то внутренних нужд (и даже вроде бы хотят в паблик вынести), но ничего не мешает нам сейчас самим использовать эти классы:
Из папки установки Qt \qtbase\src\gui\text   копируем к себе в проект
qzipwriter_p.h
qzipreader_p.h
qzip.cpp
в файле *.pro проекта добавляем
LIBS […]

Views :

607

Использование Q_PLUGIN_METADATA FILE «jsonfile.json»

Для плагинов не хотелось городить костылей по хранению и подключению метаинформаци, когда уже есть прекрасный способ —
в Q_PLUGIN_METADATA  можно прописать FILE «myplugin.json» и в неём хранить всё необходимое.
Но как ни странно, в документации по получению информации не оказалось…
Пример файла myplugin.json
{
"Name": "Credits",
"Descr": "Credits manager",
"Version": "0.0.1"
}
Т.е. обычный […]

Views :

853