QT学习之QT判断界面当前点击的按钮和当前鼠标坐标

摘要:
可使用qobject_cast动态类型转换成对应的发送信息的对象。

1.QObject::sender( ) 返回发送信号的对象的指针,返回类型为QObject* 。可使用qobject_cast动态类型转换成对应的发送信息的对象(对象类的基类中需要有QObject)。

QObject::objectName( ) 返回对象的名称(QString)
  1. 1 QPushButton*btn = qobject_cast<QPushButton*>(sender());//获取发射信号的对象
    2 if("按钮对象名"==btn->objectName()){//如果获取到对象
    3 //...
    4 }

    2. QMouseEvent中两类坐标系统,一类是窗口坐标(相对坐标),一类是显示器坐标(全局坐标)

  1. 1 QPointQMouseEvent::globalPos();//窗口坐标,这个是返回鼠标的全局坐标
    2 QPointQCursor::pos()[static];//返回相对显示器的全局坐标
    3 QPointQMouseEvent::pos();//返回相对这个widget的位置
    4 QPointQWidget::pos();//这个属性获得的是当前目前控件在父窗口中的位置
    5 constQPointF&QMouseEvent::screenPos()const;//和QPoint QMouseEvent::globalPos() 值相同,但是类型更高精度的QPointF
    6 QPointQWidget::mapToGlobal(constQPoint& pos)const;//将窗口坐标转换成显示器坐标
    7 QPointQWidget::mapFromGlobal(constQPoint& pos)const;//将显示器坐标转换成窗口坐标
    8 QPointQWidget::mapToParent(constQPoint& pos)const;//将窗口坐标获得的pos转换成父类widget的坐标
    9 QPointQWidget::mapFromParent(constQPoint& pos)const;//将父类窗口坐标转换成当前窗口坐标
    10 QPointQWidget::mapTo(constQWidget* parent,constQPoint& pos)const;//将当前窗口坐标转换成指定parent坐标
    11 //也可使用:
    12 Qpoint pt=cursor().pos();//获取当前鼠标位置

来自为知笔记(Wiz)

免责声明:文章转载自《QT学习之QT判断界面当前点击的按钮和当前鼠标坐标》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇Android.mk 文件语法详解rgba alpha 透明度的转换计算下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

随便看看

C#使用FFmpeg的总结

上一篇文章提到FFmpeg解决了项目中的视频和语音问题,并表示C#和FFmpeg必须提到两个类库。最后,选择了FFmpeg.AutoGen,它可以通过API更好地控制灵活性,更好地满足您的个人需求。6、 C#FFmpeg使用SDL2实现rtmp播放器7。C#FFmpeg本地mp3,mp4文件播放8。C#FFmpeg在保存到本地文件时播放rtmp视频。...

vsCode mongoDB插件 Azure Cosmos DB

安装完成后,要重启下vsCode会看到然后点击绿色的小按钮,选择MongoDB再输入MongoDB的连接地址。当然要先把本地的mongoDB数据库打开,cmd黑窗口输入mongod--dbpathxxxx打开本地数据库输入完成地址后,回车就可以连接到自己的MongoDB数据库了...

全网最详细的最新稳定OSSEC搭建部署(ossec-server(CentOS7.X)和ossec-agent(CentOS7.X))(图文详解)

OSSEC是一款开源的基于主机的入侵检测系统,可以简称为HIDS。它具备日志分析,文件完整性检查,策略监控,rootkit检测,实时报警以及联动响应等功能。详细的介绍和文档可以参考官网网站:http://www.ossec.net/环境本文中的环境极其简单,两台CentOS7虚拟机。CentOS7的安装详解服务端:  计算机名:ossec-server  I...

IDEA的设置打不开,点了没反应解决办法

把它去掉用回英文d就可以了。...

PCL点云分割(2)

点云的分割是我想做的机器人手臂捕捉的一个非常重要的部分,因此首先要了解,如果我使用点云库来处理我用kinect获得的点云数据,这个例程也是由我自己慢慢修改程序并结合官方API的解释来实现的。如果我直接更改源程序,由于数据类型、头文件和其他原因,其中的许多细节可能无法编译,我们将很难找出错误。首先,让我们看看我自己设定的场景。然后我使用Kinect获取数据并观...

windows下mstsc 远程Ubuntu 教程

为远程桌面控制设置Ubuntu 16.04的缺点是重新启动系统需要使用监视器登录系统。首先,我们将Ubuntu远程控制设置为允许远程连接,进入系统-˃首选项-˃桌面共享,或直接搜索桌面共享。如图所示,选中此项,然后选中安全项,并设置远程密码。...