在QcustomPlot中,给横纵坐标添加箭头的方法

//在末尾添加箭头   
customPlot->xAxis->setUpperEnding(QCPLineEnding::esSpikeArrow);
customPlot->yAxis->setUpperEnding(QCPLineEnding::esSpikeArrow);

怎么给图画虚线的方法

//设置虚线
QPen linesPen(Qt::red,,Qt::DashLine);
line = new QCPItemStraightLine(customPlot);
line->setPen(linesPen);
line->setClipToAxisRect(true);
line->point1->setCoords(,);
line->point2->setCoords(,);
//虚线平行于x轴
line->point1->setCoords(customPlot->xAxis->range().lower,0.2);
line->point2->setCoords(customPlot->xAxis->range().upper,0.2);

文本框的设置

//创建文本对象
QCPItemText *text = new QCPItemText(customPlot);
//设置文本坐标解析方式
text->position->setType(QCPItemPosition::ptAxisRectRatio);
//设置位置在矩形区域的位置
text->setPositionAlignment(Qt::AlignLeft | Qt::AlignBottom);
//设置位置
text->position->setCoords(0.1,0.90);
//设置文本内容
text->setText("你好");
text->setTextAlignment(Qt::AlignLeft);
//设置颜色
text->setColor(QColor(Qt::red));
//设置页边距
text->setPadding(QMargins(,1,1,1));

步长的设置

//创建对象
QSharedPointer<QCPAxisTickerFixed> intTicker( new QCPAxisTickerFixed );
//设置步长精度
intTicker->setTickStep(0.1);
//设置y轴步长
customPlot->yAxis->setTicker(intTicker);

设置坐标轴为矩形及坐标的刻度样式

ui->customPlot->xAxis2->setVisible(true);//x2轴可见
ui->customPlot->yAxis2->setVisible(true);//y2轴可见
ui->customPlot->xAxis2->setTicks(false);//x2刻度不可见
ui->customPlot->yAxis2->setTicks(false);//y2刻度不可见
ui->customPlot->yAxis->setSubTicks(false);//y1子刻度不可见

获取鼠标所在位置的坐标

int x_pos = e->pos().x();
int y_pos = e->pos().y();
qDebug()<<"event->pos()"<<e->pos();

鼠标坐标转化为CustomPlot内部坐标

float x_val = ui->customPlot->xAxis->pixelToCoord(x_pos);
float y_val = ui->customPlot->yAxis->pixelToCoord(y_pos);
qDebug()<<x_val<<y_val;

获取曲线的个数

int count = ui->customPlot->graphCount();

获取曲线上的点个数

int count = ui->customPlot->graph()->dataCount();

获取曲线上所有的点的x和y

QVector<double> y_data[ui->customPlot->graph()->dataCount()], x_data[ui->customPlot->graph()->dataCount()];

for (int i = ;i < ui->customPlot->graph(k)->dataCount();i++) {
float x = ui->customPlot->graph(k)->data()->at(i)->key;
float y = ui->customPlot->graph(k)->data()->at(i)->value;
x_data.append(x);
y_data.append(y);
}

QToolTip提示框

QToolTip::showText(mapToGlobal(e->pos()),QString(str),this);

QT QcustomPlot的使用(二)的更多相关文章

  1. QCustomplot使用分享(二) 源码解读

    一.头文件概述 从这篇文章开始,我们将正式的进入到QCustomPlot的实践学习中来,首先我们先来学习下QCustomPlot的类图,如果下载了QCustomPlot源码的同学可以自己去QCusto ...

  2. Qt DLL总结【二】-创建及调用QT的 DLL(三篇)good

    目录 Qt DLL总结[一]-链接库预备知识 Qt DLL总结[二]-创建及调用QT的 DLL Qt DLL总结[三]-VS2008+Qt 使用QPluginLoader访问DLL 开发环境:VS20 ...

  3. Qt浅谈之二十七进程间通信之QtDBus

    一.简介 DBus的出现,使得Linux进程间通信更加便捷,不仅可以和用户空间应用程序进行通信,而且还可以和内核的程序进行通信,DBus使得Linux变得更加智能,更加具有交互性.        DB ...

  4. Qt浅谈之二十App自动重启及关闭子窗口

    一.简介 最近因项目需求,Qt程序一旦检测到错误,要重新启动,自己是每次关闭主窗口的所有子窗口但有些模态框会出现问题,因此从网上总结了一些知识点,以备以后的应用. 二.详解 1.Qt结构 int ma ...

  5. Qt浅谈之二十App自动重启及关闭子窗口(六种方法)

    一.简介 最近因项目需求,Qt程序一旦检测到错误,要重新启动,自己是每次关闭主窗口的所有子窗口但有些模态框会出现问题,因此从网上总结了一些知识点,以备以后的应用. 二.详解 1.Qt结构 int ma ...

  6. Qt之自定义托盘(二)

    上一篇文章讲述了自定义Qt托盘,不过不是使用QSystemTrayIcon这个类,而是我们自己完全自定义的一个类,我们只需要处理这个类的鼠标hover.鼠标左键点击.鼠标右键点击和鼠标左键双击,就可以 ...

  7. QT开发(十二)——QT事件处理机制

    一.QT事件简介 QT程序是事件驱动的, 程序的每个动作都是由内部某个事件所触发.QT事件的发生和处理成为程序运行的主线,存在于程序整个生命周期. 常见的QT事件类型如下: 键盘事件: 按键按下和松开 ...

  8. Qt浅谈之二十六图片滑动效果

    一.简介 博客中发现有作者写的仿360的代码,觉得其中图片滑动的效果很有意思,特提取其中的代码.并加上类似mac的画面移动的动画效果. 二.详解 1.代码一:界面滑动(QWidget) (1)slid ...

  9. Qt容器组件(二)之QWidgetStack、QMdiArea、QDockWidget

    QT中有九种容器组件,分别是组合框QGroupBox.滚动区QScrollArea.工具箱QToolBox.选项卡QTabWidget.控件栈QWidgetStack.框架QFrame.组件QWidg ...

随机推荐

  1. pojo、po、dto、dao、bo区别

    j2ee中,经常提到几种对象(object),理解他们的含义有助于我们更好的理解面向对象的设计思维.     POJO(plain old java object):普通的java对象,有别于特殊的j ...

  2. 创建jQuery节点对象

    现在的年轻人,经历旺盛,每天都熬夜,今天又晚了,现在才更新博客,今天更新jquery入门之对节点的操作,内容简单好掌握.认真的燥再来吧. 1.$("<li class="li ...

  3. msf端口扫描

    使用MSF发现主机和端口扫描 使用search命令查找需要的模块 MSF模块太多,记不住怎么办!!! 我们不需要记住所有模块,我们只要能找到我们想用的模块就行,平时积累使用的模块也行哦! 比如,我们通 ...

  4. linux查看服务安装目录redis

    如果用命令 which redis 或者 whereis redis 都找不到安装目录, 可使用以下办法: ps -aux | grep redis  或者ps -ef|grep redis 假如得到 ...

  5. 生产环境缺陷来源VS 缺陷管理响应机制

    生产环境缺陷主要来源于用户反馈.版本内遗留.内部反馈和监控后台报警,具体内容包含以下途径: 1.用户反馈: ①  前台电话方式 ②  意见反馈后台 ③  第三方平台:如微博.App Store等渠道 ...

  6. web前端——Vue.js基础学习之class与样式绑定

    打着巩固 css 知识的旗号开始了对 vue 样式绑定的研究,相比前一篇的 demo,本次内容多了各种样式在里面,变得稍微花哨了些,话不多说,直接上代码吧: <html> <head ...

  7. Maven 3.6.1 下载及安装配置

    Step1:Download You can download Maven3.6.1 from maven.apche.org , or from here. Step2:Unzip and add ...

  8. Android view的一些认识

    转载:9102年末,我对Android view的13条认识: (顺手留下GitHub链接,需要获取相关面试等内容的可以自己去找)https://github.com/xiangjiana/Andro ...

  9. python网络编程----requests模块

    python访问网站可以用标准模块--urllib模块(这里省略),和requests(安装-pip install requests)模块,requests模块是在urllib的基础上进行的封装,比 ...

  10. Day04:循环结构(while、do-while、for)

    Java 循环结构 - while ,do...while,for 反复执行一段相同或相似代码的格式. 顺序结构的程序语句只能被执行一次.如果您想要同样的操作执行多次,,就需要使用循环结构. Java ...