将QCustomPlot与你的应用程序配合使用非常简单:
从下载部分获取最新版本的QCustomPlot。
像使用其他普通的类文件一样,使用qcustomplot.h和qcustomplot.cpp文件。
在左侧边栏中右键单击项目的根目录条目,然后选择"添加现有文件..."。
在出现的文件对话框中,选择qcustomplot.h和qcustomplot.cpp文件,将它们添加到你的项目中。完成后,您的项目结构和.pro文件应该类似于以下示例:
如果您使用的是Qt 5.0及更高版本,则需要在您的.pro文件中的QT变量中添加printsupport
。在上面的示例中,这是在greaterThan(QT_MAJOR_VERSION, 4)
条件之后完成的。这样可以确保在使用旧版本的Qt时不会添加printsupport
(和widgets
)。
现在可以开始使用QCustomPlot了。在所需位置的表单上放置一个常规的QWidget。右键单击它,然后点击"提升为..."。
在出现的对话框中,在"提升的类名"旁边的输入字段中输入QCustomPlot
。"头文件"旁边的输入字段应自动填充正确的qcustomplot.h
值。点击"添加"将QCustomPlot添加到提升类列表中,最后点击"提升"将表单上的QWidget转换为QCustomPlot。
在QtCreator(或QtDesigner)中,您不会立即看到任何视觉上的变化,但在运行应用程序时,您将看到一个带有坐标轴和网格线的空白图表。
问题一:Compilation aborts with "GL/gl.h: No such file or directory" or "cannot find -lGL"
意思是:编译中断,显示"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
问题二:Linking aborts with "Undefined reference to QPrinter(...)"
请确保按照上述描述,在项目文件中将printsupport模块添加到QT变量中。
使用共享库意味着不将.h/.cpp文件包含到您的项目中,而是链接到外部的qcustomplot.so(GNU/Linux)或qcustomplot.dll(MSWindows)文件。通过设置编译器定义QCUSTOMPLOT_COMPILE_LIBRARY
,QCustomPlot可以作为共享库构建。要在应用程序中使用共享库,在包含QCustomPlot头文件之前设置定义QCUSTOMPLOT_USE_LIBRARY
。
下载部分的sharedlib包提供了两个项目来演示这一点:一个编译QCustomPlot共享库,另一个使用共享库。这将快速帮助您开始使用QCustomPlot作为共享库。
下载部分的QCustomPlot.tar.gz包中包含了准备好编译的示例项目。
只需将整个包解压到一个新目录中,进入示例目录并运行qmake; make命令。或者你可以在QtCreator中打开.pro文件,并从那里使用示例。