QCustomPlot 鼠标消息获取,以及对应坐标转换

1 首先在 MainWindow.h 中加入 消息处理程序(槽)

private slots:
  void my_mouseMove(QMouseEvent* event);

2 在 MainWindow.cpp 中实现 (槽)

void MainWindow::my_mouseMove(QMouseEvent* event)
{
 //获取鼠标坐标点
    int x_pos = event->pos().x();
    int y_pos = event->pos().y();

// 把鼠标坐标点 转换为 QCustomPlot 内部坐标值 (pixelToCoord 函数)
// coordToPixel 函数与之相反 是把内部坐标值 转换为外部坐标点
    float x_val = ui->plot->xAxis->pixelToCoord(x_pos);
    float y_val = ui->plot->yAxis->pixelToCoord(y_pos);

// 然后打印在界面上
    ui->label->setText(tr("(%1  %2  ||  %3  %4)").arg(x_pos).arg(y_pos).arg(x_val).arg(y_val));
}

3 把 QCustomPlot 的 鼠标移动信号 与 槽  链接 起来

connect(ui->plot, SIGNAL(mouseMove(QMouseEvent*)), this, SLOT(my_mouseMove(QMouseEvent*)));
时间: 2024-09-29 17:20:04

QCustomPlot 鼠标消息获取,以及对应坐标转换的相关文章

第7章 鼠标_7.1-7.4 鼠标基础知识和鼠标消息

7.1 鼠标的基础知识 功能 GetSysMetrics的 参数 返回值 判断是否安装鼠标 SM_MOUSEPRESENT WINNT以上:TRUE己安装.0未安装 Windows98:总是TRUE. 鼠标按钮个数 SM_CMOUSEBUTTONS WINNT以上:0为未安装鼠标 Windows98:有安装鼠标返回按钮个数,没安装鼠标返回2. 鼠标按钮是否被切换 SM_SWAPBUTTON 设定鼠标其他参数(如双击):用SystemParametrsInfo函数获取或设定 (2)鼠标指针:wnd

界面控件 - 滚动条ScrollBar(对滚动条消息和鼠标消息结合讲的不错)

界面是人机交互的门户,对产品至关重要.在界面开发中只有想不到没有做不到的,有好的想法,当然要尝试着做出来.对滚动条的扩展,现在有很多类是的例子. VS2015的代码编辑是非常强大的,其中有一个功能可以把滚动态变成MinMap,可以通过Options->Text Editor->C/C++->Scroll Bars中的Behavior选项分类进行打开. sublime也有这个功能,但没有VS的好用.变成MinMap后整个代码文档变成一个完整的缩微图,在你对代码比较熟悉的情况下,可以非常容易

MFC控件编程之鼠标消息

MFC控件编程之鼠标消息 在MFC中鼠标消息.键盘消息我们很常用.所以说一下. 鼠标消息分为客户区消息.跟非客户区消息. 一丶客户区消息 我们可以处理消息.来进行我们相应的函数即可. MFC添加消息的话.可以自己在消息映射表中添加 .可以自己使用工具直接添加. 消息映射表添加 学习过MFC原理的应该知道.这里可以添加消息. 自己可以手动添加.我们也可以使用向导来添加. void CCDCDlg::OnLButtonDown(UINT nFlags, CPoint point) { // TODO

爬虫-微信公众平台消息获取

帮朋友抓取微信公众平台的用户评论信息. 下面只说核心的部分,怎么获取评论信息. 查看HTML代码,没有发现关于评论部分的标签.看来是用JS动态生成的,但是查找ajax请求也没有找到哪里有返回数据. 最后搜索一下,原来是在这里,很直白的写在了JS里: <script type="text/javascript"> wx.cgiData = { total_count : 91, latest_msg_id : '200325222', count : "20&quo

用VBS控制鼠标(获取鼠标坐标、鼠标移动、鼠标单击、鼠标双击、鼠标右击)

Demon's Blog 忘记了,喜欢一个人的感觉 Demon's Blog  ?  程序设计  ?  用VBS控制鼠标(获取鼠标坐标.鼠标移动.鼠标单击.鼠标双击.鼠标右击) ? bbPress积分插件--Virtual Money VBS调用WMI监视注册表变动 ? 用VBS控制鼠标(获取鼠标坐标.鼠标移动.鼠标单击.鼠标双击.鼠标右击) 标题: 用VBS控制鼠标(获取鼠标坐标.鼠标移动.鼠标单击.鼠标双击.鼠标右击)作者: Demon链接: http://demon.tw/programm

鼠标消息与键盘消息

在Microsoft Windows 中,键盘和鼠标是两个标准的用户输入源,在一些交叠的操作中通常相互补充使用.当然,鼠标在今天的应用程序中比10年前使用得更为广泛.甚至在一些应用程序中,我们更习惯于使用鼠标,例如在游戏.画图程序.音乐程序,以及Web创览器等程序中就是这样.然而,我们可以不使用鼠标,但绝对不能从一般的PC中拆掉键盘. 相对于个人计算机的其他组件,键盘有非常久远的历史,它起源于1874年的第一台Remington打字机.早期的计算机程序员用键盘在 Hollerith卡片上打孔,以

WinAPI: GetKeyNameText - 根据键盘消息获取按键名称

unit Unit1; interface uses  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,  Dialogs; type  TForm1 = class(TForm)    procedure FormCreate(Sender: TObject);    procedure MyMsg(var msg: TWMKeyDown); message WM_KEYDOWN;  end;

没有躲过的坑--捕获窗口之外的鼠标消息(钩子还是??)

做一个发送表情的对话框,类似微信和QQ一样的,点击表情按钮,弹出表情框,鼠标点击表情框外时,这个表情框被kill. 说白了 就是在这个窗口上获得窗口外面的鼠标消息. Google百度了一番,很多人说道使用钩子,才能获得窗口外面的click事件,这也未免太小题大做了吧. 还好发现了一个简简单单的函数: SetCapture(*this); 函数功能:该函数在属于当前线程的指定窗口里设置鼠标捕获.一旦窗口捕获了鼠标,所有鼠标输入都针对该窗口,无论光标是否在窗口的边界内.同一时刻只能有一个窗口捕获鼠标

判断软件的闲置时间(使用Application.OnMessage过滤所有键盘鼠标消息)

GetLastInputInfo是检测系统输入的,应用到某个程序中不合适! 此问题有二种解法来监控输入消息: 1.用线程级HOOK,钩上MOUSEHOOK与KEYBOARDHOOK 2.在Application.OnMessage中做处理 显然,用第2种方法比较方便! 众所周知,键盘与鼠标消息都是队列消息,需要经过消息队列后经过一些处理,再发往各个WNDPROC.基于这个原理,我们可以在ONMESSAGE中做一下消息处理,即先声明全局变量,用于保存上次输入动作的时间,而后用时间控件来进行定时扫描