QT QcustomPlot的使用(二)
在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的使用(二)的更多相关文章
- QCustomplot使用分享(二) 源码解读
一.头文件概述 从这篇文章开始,我们将正式的进入到QCustomPlot的实践学习中来,首先我们先来学习下QCustomPlot的类图,如果下载了QCustomPlot源码的同学可以自己去QCusto ...
- Qt DLL总结【二】-创建及调用QT的 DLL(三篇)good
目录 Qt DLL总结[一]-链接库预备知识 Qt DLL总结[二]-创建及调用QT的 DLL Qt DLL总结[三]-VS2008+Qt 使用QPluginLoader访问DLL 开发环境:VS20 ...
- Qt浅谈之二十七进程间通信之QtDBus
一.简介 DBus的出现,使得Linux进程间通信更加便捷,不仅可以和用户空间应用程序进行通信,而且还可以和内核的程序进行通信,DBus使得Linux变得更加智能,更加具有交互性. DB ...
- Qt浅谈之二十App自动重启及关闭子窗口
一.简介 最近因项目需求,Qt程序一旦检测到错误,要重新启动,自己是每次关闭主窗口的所有子窗口但有些模态框会出现问题,因此从网上总结了一些知识点,以备以后的应用. 二.详解 1.Qt结构 int ma ...
- Qt浅谈之二十App自动重启及关闭子窗口(六种方法)
一.简介 最近因项目需求,Qt程序一旦检测到错误,要重新启动,自己是每次关闭主窗口的所有子窗口但有些模态框会出现问题,因此从网上总结了一些知识点,以备以后的应用. 二.详解 1.Qt结构 int ma ...
- Qt之自定义托盘(二)
上一篇文章讲述了自定义Qt托盘,不过不是使用QSystemTrayIcon这个类,而是我们自己完全自定义的一个类,我们只需要处理这个类的鼠标hover.鼠标左键点击.鼠标右键点击和鼠标左键双击,就可以 ...
- QT开发(十二)——QT事件处理机制
一.QT事件简介 QT程序是事件驱动的, 程序的每个动作都是由内部某个事件所触发.QT事件的发生和处理成为程序运行的主线,存在于程序整个生命周期. 常见的QT事件类型如下: 键盘事件: 按键按下和松开 ...
- Qt浅谈之二十六图片滑动效果
一.简介 博客中发现有作者写的仿360的代码,觉得其中图片滑动的效果很有意思,特提取其中的代码.并加上类似mac的画面移动的动画效果. 二.详解 1.代码一:界面滑动(QWidget) (1)slid ...
- Qt容器组件(二)之QWidgetStack、QMdiArea、QDockWidget
QT中有九种容器组件,分别是组合框QGroupBox.滚动区QScrollArea.工具箱QToolBox.选项卡QTabWidget.控件栈QWidgetStack.框架QFrame.组件QWidg ...
随机推荐
- .net core 修改 Identity/AspNetUsers 数据库
众所周知,.net core有一套完整的用户管理功能.使用它就能实现用户的管理及登录登出功能.现在问题来了,我们有时候需要添加一些字段,该怎么办呢?当然是修改他呀.修改方法参考链接:https://m ...
- mysql用户与授权
视图 create view 视图名 as 查询语句: MariaDB [hellodb]> create view view_left as select name from stude ...
- 一个U盘制作多个系统
写在前面:一个U盘可以装多个ghost系统,但不能装多个原版ISO系统. 一.一个U盘装多个ghost系统 下载老毛桃或电脑店U盘制作工具,点击一键制作U盘启动盘.然后将gho文件拷贝复制到U盘的GH ...
- DSSM算法-计算文本相似度
转载请注明出处: http://blog.csdn.net/u013074302/article/details/76422551 导语 在NLP领域,语义相似度的计算一直是个难题:搜索场景下quer ...
- Centos - php5.4升级到7.1 yum安装
查看当前 PHP 版本 1 php -v 查看当前 PHP 相关的安装包,删除之 1 2 3 4 5 yum list installed | grep php yum remove php ...
- c++ new bad_alloc
try { for (int i = 0; i<1000; i++) { test1 = new Test(); cout << i << " new dog ...
- [Scikit-learn] 1.4 Support Vector Classification
Ref: http://sklearn.lzjqsdd.com/modules/svm.html Ref: CS229 Lecture notes - Support Vector Machines ...
- jenkins打完包在哪里
查看控制台输出最后面一行是jar包的位置 [JENKINS] Archiving /var/lib/jenkins/jobs/moven-test/workspace/target/projectA- ...
- node.js运行内存堆溢出的解决办法
我是在将一组80多列13万多行的数据通过node-xlsx的时候出现的内存堆溢出的情况. 解决办法时将: node app.js 改成: node --max_old_space_size=10000 ...
- idea调试jdk1.8源码(最新)
我们发现如果,直接用idea点项目jdk源码进去后发现自己不能注释说明,非常麻烦,不便阅读记录 于是: 1.在安装的jdk1.8路径下,找到src.zip和javafx-src.zip压缩文件 ,解压 ...