为了方便,这里使用的是nayuki写的库,下载之后将相应的文件include进来就可以。新建一个Qt项目,在项目目录下新建libs
目录,然后将BitBuffer.hpp、BitBuffer.cpp、QrCode.hpp、QrCode.cpp、QrSegment.hpp和QrSegment.cpp
放到libs目录下,下面是实例
mainwindow.h
#ifndef MAINWINDOW_H
#define MAINWINDOW_H
#include <QMainWindow>
#include <QPainter>
#include "libs/QrCode.hpp"
namespace Ui {
class MainWindow;
}
class MainWindow : public QMainWindow {
Q_OBJECT
public:
explicit MainWindow(QWidget* parent = nullptr);
~MainWindow();
void paintQR(QPainter& painter, QPoint point, const QSize sz, const QString& data, QColor fg);
QString asciiQR(const QString& data, QString on = "█", QString off = " ");
protected:
void paintEvent(QPaintEvent*);
private:
Ui::MainWindow* ui;
};
#endif // MAINWINDOW_H
mainwindow.cpp
#include "mainwindow.h"
#include "ui_mainwindow.h"
MainWindow::MainWindow(QWidget