在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. Ubuntu 14.04 tar 打包系统安装到新机器

    制作Ubuntu14.04 的u启动盘,重启电脑进入要克隆的系统,打包整个根目录 su cd / tar -cvpzf /media/cdrom/backup.tar.gz / --exclude=/ ...

  2. oracle查找表索引信息

    select owner,index_name,index_type from all_indexes where owner='xxxx' and table_name='xxx' select * ...

  3. getBoundingClientRect使用指南

    getBoundingClientRect使用指南 author: @TiffanysBear 主要介绍getBoundingClientRect的基本属性,以及具体的使用场景和一些需要注意的问题. ...

  4. ubuntu18.04 systemctl

    systemd 是 Linux 下的一款系统和服务管理器,兼容 SysV 和 LSB 的启动脚本.systemd 的特性有:支持并行化任务:同一时候採用 socket 式与 D-Bus 总线式激活服务 ...

  5. MISS YOU

      文章来源:刘俊涛的博客 欢迎关注,有问题一起学习欢迎留言.评论

  6. PHP学习之图像处理-水印类

    <?php $image = new Image(); $image->water('./upload/up_5cf0caca0565b.png','./upload/up_5cf0cb3 ...

  7. asp.net MVC AngularJS

    http://www.cnblogs.com/powertoolsteam/category/834105.html

  8. openpose关节图

  9. OpenStack 虚拟机热迁移流程图

    目录 文章目录 目录 源计算节点与目的计算节点之间的交互流程 Nova 和 Neutron 之间的交互流程 源计算节点与目的计算节点之间的交互流程 热迁移主要包括三个阶段: pre_live_migr ...

  10. bat修改注册表

    bat添加注册表,这里只是其中一部分,以后再补充.各项参数介绍的挺详细的,认真按照语法要求写就可以. reg add "HKCU\Software\Microsoft\Windows\Cur ...