记录下比较好用的一些开源库
1. Qt中的日志库“log4qt”
log4qt 是一个基于 Apache Log4j 设计理念的 Qt 日志记录库,它为 Qt 应用程序提供了强大而灵活的日志记录功能。Log4j 是 Java 领域广泛使用的日志框架,log4qt 借鉴了其优秀的设计思想,让 Qt 开发者可以方便地在 C++ 代码中实现类似的日志记录机制;log4qt”开源库基本可以满足中小型项目的各种日志需求,特别优点是能很好的嵌入到Qt开发的项目中,自动打印出Qt本身的一些警告或错误,这块其实很有用,往往是一些问题的本源; 可以从 log4qt 的官方 GitHub 仓库(https://github.com/MEONMedical/log4qt)下载最新的源码。解压源码包后,进入源码目录,使用 Qt 的 qmake 和 make 工具进行编译和安装。在项目的 .pro 文件中添加对 log4qt 库的引用。 在应用程序的 main 函数中,需要对 log4qt 进行初始化。以下是一个简单的初始化示例
#include
#include
#include
int main(int argc, char *argv[])
{
QCoreApplication a(argc, argv);
// 基本配置,将日志输出到控制台
Log4Qt::BasicConfigurator::configure();
// 获取根日志记录器
Log4Qt::Logger* logger = Log4Qt::Logger::root();
// 记录日志
logger->debug("Debug message");
logger->info("Info message");
logger->warn("Warning message");
logger->error("Error message");
logger->fatal("Fatal message");
return a.exec();
}
2. 图表开源库“QCustomPlot”
QCustomPlot是一个基于Qt画图和数据可视化的C++控件。在Qt下的绘图工具有Qwt、QChart和QCustomPlot,在绘制大量数据(10万个点以上)时选择QCustomPlot优势比较明显,可以将XY轴对调,然后形成横向的效果,无论是曲线图还是柱状图,分组图、堆积图等,都支持这个特性。 功能特点:一个用于绘制各种 2D 图表的 Qt 库,支持折线图、柱状图、散点图、饼图等多种图表类型。它具有高度的可定制性,能够自定义图表的外观、坐标轴、标签等。可以方便地添加数据、更新图表,并且支持交互操作,如缩放、平移等。 如下:在 Qt 项目中,使用QCustomPlot可以轻松创建一个简单的折线图
#include "qcustomplot.h"
#include
int main(int argc, char *argv[]) {
QApplication a(argc, argv);
QCustomPlot *customPlot = new QCustomPlot();
// 创建一个折线图
customPlot->addGraph();
QVector
for (int i = 0; i < 101; ++i) {
x[i] = i / 50.0 - 1;
y[i] = x[i] * x[i];
}
customPlot->graph(0)->setData(x, y);
customPlot->rescaleAxes();
customPlot->replot();
customPlot->show();
return a.exec();
}
3. SQLite数据库
功能特点:SQLite 是一个轻量级的嵌入式数据库,它将整个数据库存储在一个单一的文件中,无需单独的服务器进程。Qt 提供了对 SQLite 的原生支持,通过 QSqlDatabase 和 QSqlQuery 等类可以方便地进行数据库操作,如创建表、插入数据、查询数据等。 适用场景:适合开发小型应用程序、嵌入式系统等,对数据库性能要求不是特别高的场景。
#include
#include
#include
#include
int main(int argc, char *argv[]) {
QCoreApplication a(argc