Qt数据实时绘制之双击放大单一通道
来源:互联网 发布:烟台鼎鸿网络拖欠工资 编辑:程序博客网 时间:2024/06/09 19:34
目的:
由于目前采用的是32通道,绘制的同时已经使得界面有些拥挤。这就使得对单一通道数据的观察有些乏力。所以,采用了双击一个图表,放大显示的方法来暂时解决。
效果:
- 双击任何一个图表,都会放大为一个大的dialog进行显示。双击dialog进行关闭。
实现
思路:
- qwtplot并不能通过鼠标事件获取widget的方法来获得所选是哪一个。
- 根据鼠标获取相对的坐标,再者窗口按照QGridLayout排列,所以直接计算得出选择的是哪一个图表。
代码:
/** * @brief DisWindow::mouseDoubleClickEvent * @param e * 鼠标双击事件,用于进行单通道的详细显示 */void DisWindow::mouseDoubleClickEvent(QMouseEvent *e){ int mouse_x = e->pos().x();//获得鼠标相对窗体的点击坐标 int mouse_y = e->pos().y(); // qDebug()<<"mouse_x--> "<<mouse_x; // qDebug()<<"mouse_y--> "<<mouse_y; QWidget *cw = ui->centralwidget; int cw_w = cw->width();//获取窗体的整体宽度和高度 int cw_h = cw->height(); // qDebug()<<"cw_w--> "<<cw_w; // qDebug()<<"cw_h--> "<<cw_h; int interval_x = cw_w/numofline;//计算得出选择的是哪一个 int interval_y = cw_h/(chooseNum/numofline); dialogChannelNum = mouse_x/interval_x+mouse_y/interval_y*numofline;//主要就是确定是哪一个通道 // qDebug()<<"click num--> "<<dialogChannelNum<<endl; Dialog *dig = new Dialog; dig->show(); connect(updateqwt,SIGNAL(senddata2Dialog()),dig,SLOT(receiveData()));}
本人只是初学者,关于程序的一切问题,欢迎交流留言。
1 0
- Qt数据实时绘制之双击放大单一通道
- Qt- 绘制实时曲线
- 气象自动监测站QT程序设计(四):数据实时曲线绘制
- QT自定义窗口标题栏实现拖动双击放大缩小
- QT中OPENGL的实时绘制
- Qt Charts 动态实时折线图绘制
- Qt之模型/视图(实时更新数据)
- Qt之模型/视图(实时更新数据)
- Qt之模型/视图(实时更新数据)
- Qt之模型/视图(实时更新数据)
- Qt之绘制时钟
- qt之 绘制时钟
- 双击定点放大功能
- 双击放大图片
- 双击放大缩小图片
- 图片双击放大问题
- WebRTC实时通信系列教程9 数据通道图片传输
- 单一世界架构初探之数据抽象
- Servlet与GenericServlet和HttpServlet的关系
- 从源码解析Python的Flask框架中request对象的用法
- mac下nodejs 更新到最新版本的最新方法
- node.js入门基础-4
- Android 6.0权限请求相关及权限分组
- Qt数据实时绘制之双击放大单一通道
- Android Studio快捷键
- 安卓-控制控件的宽度占屏幕的一半且水平居中显示
- Python2编码问题
- tomcat 启动报错
- HighlightingSystem(边缘发光插件)的简单使用(一)
- java复习系列之对象和类
- UVa489 - Hangman Judge
- cocos2d-x visual studio warning C4005: “__on_failure”: 宏重定义 解决方法