QMouseEvent 鼠标事件
来源:互联网 发布:淘宝店铺品牌授权书 编辑:程序博客网 时间:2024/05/17 07:27
1、QMouseEvent中的坐标[喝小酒的网摘]http://blog.hehehehehe.cn/a/17083.htm
QMouseEvent中保存了两个坐标,一个是全局坐标,当然另外一个是局部坐标。
全局坐标(globalPos())即是桌面屏幕坐标(screen coordinates),这个跟windows下的调用getCursorPos函数得到的结果一致。
局部坐标(pos())即是相对当前active widget的坐标,左上角坐标为(0, 0)。
补充一个公式:
3、鼠标左键拖动和左键点击的判断
鼠标左键点击很容易判断,一般就是在重写mousePressEvent函数,示例如下:
void XXXWidget::mousePressEvent(QMouseEvent *event)
{
if(event->button() == Qt::LeftButton)
{
// todo ...
}
void XXXWidget::mouseMoveEvent(QMouseEvent *event)
{
if(event->buttons() & Qt::LeftButton)
{
// todo ...
}
QMouseEvent中保存了两个坐标,一个是全局坐标,当然另外一个是局部坐标。
全局坐标(globalPos())即是桌面屏幕坐标(screen coordinates),这个跟windows下的调用getCursorPos函数得到的结果一致。
局部坐标(pos())即是相对当前active widget的坐标,左上角坐标为(0, 0)。
补充一个公式:
this->mapFromGlobal(this->cursor().pos()) = event.pos()
event.pos()返回的是局部坐标,该值等于 mapFromGlobal( event.globalPos() );
3、鼠标左键拖动和左键点击的判断
鼠标左键点击很容易判断,一般就是在重写mousePressEvent函数,示例如下:
void XXXWidget::mousePressEvent(QMouseEvent *event)
{
if(event->button() == Qt::LeftButton)
{
// todo ...
}
}
void XXXWidget::mouseMoveEvent(QMouseEvent *event)
{
if(event->buttons() & Qt::LeftButton)
{
// todo ...
}
}
0 0
- QMouseEvent 鼠标事件
- Qt鼠标事件QMouseEvent总结
- Qt鼠标事件QMouseEvent总结
- Qt 事件 QMouseEvent 鼠标示例
- Qt鼠标事件QMouseEvent总结
- 【转】QMouseEvent鼠标事件简介
- Qt鼠标双击事件mouseDoubleClickEvent(QMouseEvent* event)
- QWebEngineView 无法获取鼠标事件QMouseEvent
- QMouseEvent事件传递
- qt界面程序中相应鼠标QMouseEvent的pos()和gloabalPos()的含义
- QT::QMouseEvent
- 鼠标事件
- 鼠标事件
- 鼠标事件
- 鼠标事件
- 鼠标事件
- 鼠标事件
- 鼠标事件
- Mac下如何切片HLS流
- 关于系统封装讲解
- Android(java)的线程池:ExecutorService和Executors简单介绍
- 用EasyBoot轻松做启动光盘
- 第二周 项目2——程序的多文件组织
- QMouseEvent 鼠标事件
- 解决SQL Server 2000安装时挂起的问题!
- 复制I386文件出错时解决方法
- windows 快捷键大全
- IE浏览器故障及其解决方法
- IE问题解决方法汇总
- 瑞星序列号
- 深度卷积网络CNN与图像语义分割
- 注册码之家