QCustomPlot(一)设置环境

1 设置QCustomPlot环境

将QCustomPlot与你的应用程序配合使用非常简单:

  1. 从下载部分获取最新版本的QCustomPlot。

  2. 像使用其他普通的类文件一样,使用qcustomplot.h和qcustomplot.cpp文件。

1.1 QtCreator用户

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

在出现的文件对话框中,选择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)中,您不会立即看到任何视觉上的变化,但在运行应用程序时,您将看到一个带有坐标轴和网格线的空白图表。

1.2 解决故障

问题一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变量中。

1.3 作为共享库(.so/.dll文件)使用

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

下载部分的sharedlib包提供了两个项目来演示这一点:一个编译QCustomPlot共享库,另一个使用共享库。这将快速帮助您开始使用QCustomPlot作为共享库。

1.4 运行例子

下载部分的QCustomPlot.tar.gz包中包含了准备好编译的示例项目。

只需将整个包解压到一个新目录中,进入示例目录并运行qmake; make命令。或者你可以在QtCreator中打开.pro文件,并从那里使用示例。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/316803.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

小程序js常用工具及请求关键代码的封装

一个js常用工具及请求关键代码的封装随着时间变迁。 一 2017年 第一版web管理后台在用 web后台管理页面用 /*** Created by hua on 2017/8/24.*/ var requestResult{success :0,failure:1,failureMsg:2 }jx{reqAjax:function (isSync,url,fnSuccess,fnFailure) {$.ajax({typ…

向日葵远程控制软件MySQL5.7的安装与配置

目录 一. 向日葵远程控制软件 1.1 简介 1.2 选择原因 1.3 安装及使用 1.4 使用场景 二. MySQL5.7 安装与配置 2.1 什么是MySQL 2.2 安装 MySQL5.7 2.2.1 安装步骤 2.2.2 内部连接 2.2.3 外部连接 三. 思维导图 一. 向日葵远程控制软件 1.1 简介 向日葵电脑版是一款拥有多年…

智能化校园:深入探讨云端管理系统设计与实现(一)

推荐阅读 轻松驾驭JDBC:一篇文章帮你搞定数据库连接 ChatGPT爆火一周年,快来拥有专属你的ChatGPT应用! 文章目录 推荐阅读智慧校园云端管理系统的设计和实现项目简介项目技术栈项目功能项目开发项目搭建修改pom.xml文件项目包结构配置applic…

element-ui Tree 树形控件 过滤保留子级并获取过滤后的数据

本示例基于vue2 element-ui element-ui 的官网demo是只保留到过滤值一级的&#xff0c;并不会保留其子级 目标 1、Tree 树形控件 保留过滤值的子级 2、在第一次过滤数据的基础上进行第二次过滤 先看效果 Tree 树形控件 保留过滤值的子级 <el-treeclass"filter-t…

Redis(中)

1、redis的持久化 "Redis 如何将数据写入磁盘"&#xff0c;首先要明白的时候&#xff0c;我们使用的redis的数据保存在内存上的&#xff0c;也就是说&#xff0c;只要我们的电脑关机或者重启服务器&#xff0c;那么在内存中的数据就会消失&#xff0c;所以要想持久化…

网络四元组

文章目录 网络四元组 今天我们来聊聊 网络四元组 网络四元组 四元组&#xff0c;简单理解就是在 TCP 协议中&#xff0c;去确定一个客户端连接的组成要素&#xff0c;它包括源 IP 地址、目标 IP 地址、源端口号、目标端口号。 正常情况下&#xff0c;我们对于网络通信的认识可…

2024,这将是量子计算的真正挑战

2023年&#xff0c;一项项量子计算纪录被打破。 谷歌量子AI团队证明了将多个量子比特分组合成为一个逻辑量子比特的纠错方法可以提供更低的容错率。以往的纠错研究随着比特数的增加&#xff0c;错误率会提高&#xff0c;都是“越纠越错”&#xff0c;而这次谷歌首次实现了“越纠…

Vue3 结合typescript 组合式函数

在App.vue文件中 实现鼠标点击文件&#xff0c;显示坐标值 第一种方法 第二种方法&#xff1a;组合式函数 结果&#xff1a; 官网推荐组合函数&#xff1a;https://vueuse.org

[讲座] - 闲聊工业设计

1&#xff0c;工业设计相关的学科分类 2&#xff0c;工业设计的职业发展路线 3&#xff0c;工业设计师的成名人物 4&#xff0c;设计了可口可乐的Loewy 可口可乐的瓶子&#xff0c;无论白天晚上还是瓶子被打碎&#xff0c;都能认出这个是可口可乐的瓶子。 草图参照了可可豆&am…

项目引入Jar包的几种方式

目录 背景 方式一 前提 创建一个jar包 使用 方式二 背景 通常情况下&#xff0c;使用SpringBoot框架开发项目的过程中&#xff0c;需要引入一系列依赖&#xff0c;首选的就是在项目的 pom.xml 文件里面通过Maven坐标进行引入&#xff08;可以通过Maven的坐标引入jar包的前…

Java中的数据类型和操作符

目录 Java的数据类型&#xff1a; ! >>> ?: 数组另外一种传参形式&#xff1a; 输入&#xff1a; switch: 快捷键&#xff1a; 快捷创建包&#xff1a; 提交Gitee仓库&#xff1a; next和nextLine区别&#xff1a; 注意事项&#xff1a; 循环终…

【零基础入门TypeScript】类型和变量

目录 任意类型 内置类型 Null 和 undefined ─ 它们是一样的吗&#xff1f; 用户定义类型 TypeScript 中的变量声明 示例&#xff1a;TypeScript 中的变量 TypeScript 中的类型断言 例子 TypeScript 中的推断类型 示例&#xff1a;推断类型 TypeScript 变量作用域 …