前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Qt图形库-QCustomPlot

Qt图形库-QCustomPlot

作者头像
ccf19881030
发布2021-04-19 16:06:13
2.2K0
发布2021-04-19 16:06:13
举报
文章被收录于专栏:ccf19881030的博客ccf19881030的博客

Qt官方已经有QCharts模块,如下图所示:

QCharts
QCharts

另外还有一个QCustomPlot的基于Qt的第三方图形库,如下图所示:

QCustomPlot
QCustomPlot

设置QCustomPlot

使QCustomPlot与您的应用程序一起使用非常容易:

  • 下载章节获取最新版本的QCustomPlot
  • 与其他任何普通类文件一样,使用qcustomplot.h和qcustomplot.cpp文件

对于QtCreator用户

右键单击左侧栏中项目的根目录,然后选择添加现有文件…

choose Add Existing Files
choose Add Existing Files

在出现的文件对话框中,选择qcustomplot.h和qcustomplot.cpp文件,将它们添加到您的项目中。 完成后,您的项目结构和.pro文件应如下所示:

项目结构和.pro文件
项目结构和.pro文件

如果您使用的是Qt 5.0或更高版本,则需要在.pro文件中的QT变量中添加printsupport。 在上面显示的情况下,此操作在greaterThan(QT_MAJOR_VERSION,4)个条件之后进行。 确保使用较旧的Qt版本时未添加printsupport(和widgets)。

现在,该项目可以使用QCustomPlot。 将常规QWidget放在表单上的所需位置。 右键单击它,然后单击 Promote to…

Promote to...
Promote to...

在出现的对话框中,在“提升的类名”旁边的输入字段中输入QCustomPlot。 头文件旁边的输入应自动填充正确的qcustomplot.h值。 点击添加,将QCustomPlot添加到提升的类列表中,最后点击提升,将窗体上的QWidget变成QCustomPlot

提升到QCustomPlot
提升到QCustomPlot

您不会在QtCreator(或QtDesigner)中看到任何直观的视觉变化,但是在运行该应用程序时,您将看到一个带有轴和网格线的空图。 结果如下图所示:

QCustomPlot的使用示例运行结果
QCustomPlot的使用示例运行结果

故障排除

编译终止,显示“ GL/gl.h: No such file or directory" or "cannot find -lGL”

在GNU/Linux系统上,确保已安装软件包mesa-common-devlibgl1-mesa-devlibglu1-mesa-dev,例如 通过在bash终端中输入以下内容:

代码语言:javascript
复制
sudo apt-get install mesa-common-dev libgl1-mesa-dev libglu1-mesa-dev

链接终止,显示:“Undefined reference to QPrinter(…)”

确保已将模块printsupport添加到项目文件中的QT变量中,如上所述。

将QCustomPlot作为.so/.dll动态库使用

使用动态库意味着不将.h/.cpp文件包含到您的项目中,而是与外部qcustomplot.so(GNU/Linux)或qcustomplot.dll(MSWindows)文件链接。 通过设置编译器定义QCUSTOMPLOT_COMPILE_LIBRARY,可以准备将QCustomPlot构建为动态库。 要在您的应用程序中使用动态库,请在包含QCustomPlot头文件之前设置定义QCUSTOMPLOT_USE_LIBRARY`。

下载部分中的sharedlib软件包提供了两个项目来证明这一点:一个编译的QCustomPlot动态库,另一个使用动态库。 这应该很快使您开始使用QCustomPlot作为动态库。

运行示例

下载部分中的QCustomPlot.tar.gz软件包包含示例项目,这些项目已准备好进行编译。 只需将整个程序包提取到一个新目录,在示例目录中导航并运行qmake即可; 制作。 或者,您可以在QtCreator中打开.pro文件,然后从那里处理示例。

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2021-04-13 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 设置QCustomPlot
  • 对于QtCreator用户
    • 故障排除
      • 编译终止,显示“ GL/gl.h: No such file or directory" or "cannot find -lGL”
      • 链接终止,显示:“Undefined reference to QPrinter(…)”
    • 将QCustomPlot作为.so/.dll动态库使用
      • 运行示例
      领券
      问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档