无水印视频素材下载网站,河南省二级建造师报名入口官网,厦门有家装饰,百度推广和优化有什么区别目录
一、前提
二、如何引用静态链接库
三、如何引用动态链接库
四、示例代码资源 在开发项目中经常会存在需要调用第三方库的时候#xff0c;对于Qt如何来调用第三方库#xff0c;为了方便自己特意记录下详细过程。
一、前提
1. window 10操作系统
2. 已安装了Qt6.7.…目录
一、前提
二、如何引用静态链接库
三、如何引用动态链接库
四、示例代码资源 在开发项目中经常会存在需要调用第三方库的时候对于Qt如何来调用第三方库为了方便自己特意记录下详细过程。
一、前提
1. window 10操作系统
2. 已安装了Qt6.7.0版本官方下载网站一步到位Download Qt OSS: Get Qt Online Installer 另外QT5版本也适用。
3、本示例中用第三方库qrencode库来举例。 其中qrencode库的静态链接文件为libqrencode.a qrencode库的动态链接文件为qrencode.dll 库的导出头文件为qrencode.h
二、如何引用静态链接库
必备的两个文件qrencode.h、libqrencode.a或者.lib文件
工程目录数结构可以参照如下 bin文件夹 存放最后编译的工程app可执行文件 include文件夹存放第三方库依赖的头文件qrencode.h libs文件夹 存放静态链接库libqrencode.a 文件放置后开始在工程项目中引用它 然后下一步即可在.pro文件中自动添加如下的信息 win32: LIBS -L$$PWD/../libs/ -lqrencode INCLUDEPATH $$PWD/../include DEPENDPATH $$PWD/../include win32:!win32-g: PRE_TARGETDEPS $$PWD/../libs/qrencode.lib else:win32-g: PRE_TARGETDEPS $$PWD/../libs/libqrencode.a 另外指定项目放置.exe文件存放的路径为bin的方法在.pro文件中增加 DESTDIR $$PWD/../bin #指定在何处放置目标文件 然后在工程中即可进行二维码的相关操作在使用的地方进行“#include qrencode.h”。关键性代码如下
#include qrencode.hvoid MainWindow::on_pushButton_ok_clicked()
{QString text ui-lineEdit_content-text();QPixmap qrPixmap;int width ui-label_code-width();int height ui-label_code-height();gernerateQRCode(text, qrPixmap, 10);qrPixmap qrPixmap.scaled(QSize(width, height), Qt::IgnoreAspectRatio, Qt::SmoothTransformation);ui-label_code-setPixmap(qrPixmap);}void MainWindow::gernerateQRCode(const QString text, QPixmap qrPixmap, int scale)
{if(text.isEmpty()) {return;}//二维码数据QRcode *qrCode nullptr;//这里二维码版本传入参数是2,实际上二维码生成后它的版本是根据二维码内容来决定的qrCode QRcode_encodeString(text.toStdString().c_str(), 2, QR_ECLEVEL_Q, QR_MODE_8, 1);if(nullptr qrCode) {return;}int qrCode_Width qrCode-width 0 ? qrCode-width : 1;int width scale * qrCode_Width;int height scale * qrCode_Width;QImage image(width, height, QImage::Format_ARGB32_Premultiplied);QPainter mPainter(image);QColor background(Qt::white);mPainter.setBrush(background);mPainter.setPen(Qt::NoPen);mPainter.drawRect(0, 0, width, height);QColor foreground(Qt::black);mPainter.setBrush(foreground);for(int y 0; y qrCode_Width; y) {for(int x 0; x qrCode_Width; x){unsigned char character qrCode-data[y * qrCode_Width x];if(character 0x01) {QRect rect(x * scale, y * scale, scale, scale);mPainter.drawRects(rect, 1);}}}qrPixmap QPixmap::fromImage(image);QRcode_free(qrCode);
}
工程运行的效果图 三、如何引用动态链接库
大致步骤和“3.1如何引用静态链接库”一样不同的地方如下几点
必备的两个文件qrencode.h、qrencode.dll
工程目录数结构可以参照如下 bin文件夹 存放最后编译的工程app可执行文件、以及动态链接库qrencode.dll include文件夹存放第三方库依赖的头文件qrencode.h 文件放置后开始在工程项目中引用它
直接在.pro文件中进行引用 win32: LIBS $$PWD/../bin/qrencode.dll INCLUDEPATH $$PWD/../include 另外指定项目放置.exe文件存放的路径为bin的方法在.pro文件中增加 DESTDIR $$PWD/../bin #指定在何处放置目标文件 然后在工程中即可进行二维码的相关操作在使用的地方进行“#include qrencode.h”。关键性代码和“3.1如何引用静态链接库”一样。
工程运行的效果图 四、示例代码资源
资源链接window下Qt如何调用第三方库qrencode静态链接库、动态链接库的示例工程