美文网首页QT GUI编程
Qt图形库-QCustomPlot

Qt图形库-QCustomPlot

作者: 雪域迷影 | 来源:发表于2021-04-13 21:56 被阅读0次

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

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

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

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

    对于QtCreator用户

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

    choose Add Existing Files
    在出现的文件对话框中,选择qcustomplot.h和qcustomplot.cpp文件,将它们添加到您的项目中。 完成后,您的项目结构和.pro文件应如下所示:
    项目结构和.pro文件
    如果您使用的是Qt 5.0或更高版本,则需要在.pro文件中的QT变量中添加printsupport。 在上面显示的情况下,此操作在greaterThan(QT_MAJOR_VERSION,4)个条件之后进行。 确保使用较旧的Qt版本时未添加printsupport(和widgets)。

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

    Promote to...
    在出现的对话框中,在“提升的类名”旁边的输入字段中输入QCustomPlot。 头文件旁边的输入应自动填充正确的qcustomplot.h值。 点击添加,将QCustomPlot添加到提升的类列表中,最后点击提升,将窗体上的QWidget变成QCustomPlot
    提升到QCustomPlot
    您不会在QtCreator(或QtDesigner)中看到任何直观的视觉变化,但是在运行该应用程序时,您将看到一个带有轴和网格线的空图。
    结果如下图所示:
    QCustomPlot的使用示例运行结果

    故障排除

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

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

    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文件,然后从那里处理示例。

    相关文章

      网友评论

        本文标题:Qt图形库-QCustomPlot

        本文链接:https://www.haomeiwen.com/subject/skhhlltx.html