QCustomPlot 简介
前言
开始是使用QChart做的故障录波的图形处理,软件完成后碰到了个大坑,数据加载时间完全不能忍受,只好抛弃QChart的图形界面。开始QCustomPlot之旅。
QCustomPlot类做的非常好,尤其是现在的2.0版本,比以前的1.0版本更加上了一个档次。
下载路径:https://www.qcustomplot.com/
设置QCustomPlot
使QCustomPlot与您的应用程序一起使用非常容易:
- 从下载部分获取最新版本的QCustomPlot。
- 与其他任何普通类文件一样,使用qcustomplot.h和qcustomplot.cpp文件
对于QtCreator用户
右键单击左侧栏中项目的根条目,然后选择添加现有文件...。
在出现的文件对话框中,选择qcustomplot.h和qcustomplot.cpp文件,将它们添加到您的项目中。完成后,您的项目结构和.pro文件应如下所示:
如果您使用的是Qt 5.0或更高版本,则需要在.pro文件中添加printsupport
到QT
变量。在上面显示的情况下,这是在有条件的情况下完成的。这样可以确保在使用较旧的Qt版本时未添加 greaterThan(QT_MAJOR_VERSION, 4) printsupport
widgets
现在,该项目可以使用QCustomPlot。将常规QWidget放在表单上的所需位置。右键单击它,然后单击 Promote to...
在出现的对话框中,QCustomPlot
在“升级的类名”旁边的输入字段中输入。头文件旁边的输入应自动填充正确的qcustomplot.h
值。命中添加到QCustomPlot添加到推广类名单终于想出促进把QWidget的表单上为QCustomPlot。
您不会在QtCreator(或QtDesigner)中看到任何即时的视觉变化,但是在运行该应用程序时,您将看到一个带有轴和网格线的空图。
故障排除
编译中止,显示“ GL / gl.h:没有这样的文件或目录”或“找不到-lGL”
在GNU / Linux系统上,请确保您拥有包 mesa-common-dev, libgl1-mesa-dev和 libglu1 -mesa-dev已安装,例如通过在bash终端中输入以下内容:sudo apt-get install mesa-common-dev libgl1-mesa-dev libglu1-mesa-dev
用“未定义的对QPrinter(...)的引用”链接中止操作
确保已如上所述将模块printsupport添加到QT
项目文件中的变量中。
使用QCustomPlot作为共享库.so / .dll
使用共享库意味着不将.h / .cpp文件包含到您的项目中,而是与外部qcustomplot.so(GNU / Linux)或qcustomplot.dll(MSWindows)文件链接。通过设置编译器define,可以将QCustomPlot构建为共享库QCUSTOMPLOT_COMPILE_LIBRARY
。要在您的应用程序中使用共享库,请QCUSTOMPLOT_USE_LIBRARY
在包含QCustomPlot标头之前设置定义。
下载部分中的sharedlib软件包提供了两个项目来证明这一点:一个编译共享的QCustomPlot库,另一个编译共享的库。这应该很快使您开始使用QCustomPlot作为共享库。
运行示例
该QCustomPlot.tar.gz包中的下载部分包含示例项目准备进行编译。只需将整个程序包提取到一个新目录,在示例目录中导航并运行即可qmake; make
。或者,您可以在QtCreator中打开.pro文件,然后从那里处理示例。