• 7195阅读
  • 7回复

要获取鼠标左右键同时按下的信号该怎么做?? [复制链接]

上一主题 下一主题
离线crazy_stone
 
只看楼主 倒序阅读 楼主  发表于: 2010-08-30
— 本帖被 XChinux 执行加亮操作(2010-09-03) —
要获取鼠标左右键同时按下的信号该怎么做??
离线XChinux

只看该作者 1楼 发表于: 2010-08-31
重新实现mousePressEvent()
在里面判断是否是左、右键都按下了。
二笔 openSUSE Vim N9 BB10 XChinux@163.com 网易博客 腾讯微博
承接C++/Qt、Qt UI界面、PHP及预算报销系统开发业务
离线crazy_stone
只看该作者 2楼 发表于: 2010-08-31
回 1楼(XChinux) 的帖子
不好意思,我菜鸟一个不知道要怎么表达,这是关键
离线XChinux

只看该作者 3楼 发表于: 2010-08-31
你在哪个类中使用这个特性?则从这个类派生一个类,比如叫
AAAWidget,派生自QLabel

则,重新实现其mouseEvent()函数。在在里面判断鼠标按键,比如:

void AAAWidget::mousePressEvent(QMouseEvent *e)
{
   if (e->buttons() & Qt::LeftButton && e->buttons() & Qt::RightButton)
   {
       // do something
   }
   else
{
   QLabel::mousePressEvent(e);
}
}

关于QMouseEvent,请查看手册。
二笔 openSUSE Vim N9 BB10 XChinux@163.com 网易博客 腾讯微博
承接C++/Qt、Qt UI界面、PHP及预算报销系统开发业务
离线crazy_stone
只看该作者 4楼 发表于: 2010-09-01
回 3楼(XChinux) 的帖子
恩  谢谢
离线crazy_stone
只看该作者 5楼 发表于: 2010-09-01
回 3楼(XChinux) 的帖子
好像不行,照你那样,两个键同时按下还是没反应
离线dbzhang800

只看该作者 6楼 发表于: 2010-09-01
Re:回 3楼(XChinux) 的帖子
引用第5楼crazy_stone于2010-09-01 13:22发表的 回 3楼(XChinux) 的帖子 :
好像不行,照你那样,两个键同时按下还是没反应

贴你的代码
离线XChinux

只看该作者 7楼 发表于: 2010-09-01
那使用e->button() == Qt::MidButton
看看可否?
二笔 openSUSE Vim N9 BB10 XChinux@163.com 网易博客 腾讯微博
承接C++/Qt、Qt UI界面、PHP及预算报销系统开发业务
快速回复
限100 字节
 
上一个 下一个