mirror of
https://gitee.com/drabel/LibQQt.git
synced 2025-01-04 10:18:44 +08:00
准备支持鼠标锁定
This commit is contained in:
parent
7e91205320
commit
bd704c0bad
@ -97,7 +97,7 @@ bool QQtBodyMouseLocker::eventFilter ( QObject* watched, QEvent* event )
|
||||
return false;
|
||||
}
|
||||
#endif
|
||||
#if 1
|
||||
#if 0
|
||||
//用于解决启动时获取鼠标
|
||||
//用于解决窗口从unactive到active状态切换的时候获取鼠标
|
||||
case QEvent::WindowActivate:
|
||||
@ -112,7 +112,7 @@ bool QQtBodyMouseLocker::eventFilter ( QObject* watched, QEvent* event )
|
||||
return false;
|
||||
}
|
||||
#endif
|
||||
#if 1
|
||||
#if 0
|
||||
//窗口不活动以后关闭捕获鼠标 省电
|
||||
case QEvent::WindowDeactivate:
|
||||
{
|
||||
@ -128,9 +128,9 @@ bool QQtBodyMouseLocker::eventFilter ( QObject* watched, QEvent* event )
|
||||
return false;
|
||||
}
|
||||
#endif
|
||||
#if 1
|
||||
#if 0
|
||||
//点击窗口时捕获鼠标
|
||||
//这一个还是有用的,用户设置了多个窗口锁定鼠标的时候,有这个才能实时响应鼠标点击动作进行捕获。在tracking为false的时候。
|
||||
//这一个还是有用的,用户设置了多个窗口锁定鼠标的时候,有这个才能实时响应鼠标点击动作进行捕获。尤其在tracking为false的时候。
|
||||
case QEvent::MouseButtonPress:
|
||||
{
|
||||
QWidget* target = qobject_cast<QWidget*> ( watched );
|
||||
|
@ -26,7 +26,7 @@
|
||||
* 允许使用这一个句柄为多个窗口安装,各自独立工作,互不干扰。
|
||||
* setMouseTracking(true) 鼠标划过就能捕获
|
||||
* setMouseTracking(false) 鼠标点击才能捕获
|
||||
* 无论mouseTracking如何,在窗口从非active到active的时候,最近一次捕获鼠标的窗口,会立即捕获鼠标。
|
||||
* 在窗口从非active到active的时候,不会立即捕获鼠标。
|
||||
*
|
||||
* 功能约束:
|
||||
* 用户必须手动停止capture,内部也有帮助停止,但是还是要依赖手动停止,
|
||||
@ -53,6 +53,7 @@ public:
|
||||
QQtBodyMouseLocker ( QObject* parent = 0 );
|
||||
virtual ~QQtBodyMouseLocker();
|
||||
|
||||
public:
|
||||
//这里开启、停止锁定功能。默认已经开启。
|
||||
void startCapture();
|
||||
void stopCapture();
|
||||
|
@ -35,7 +35,7 @@ MainWindow::MainWindow ( QWidget* parent ) :
|
||||
ui->widget->setMouseTracking ( true );
|
||||
//ui->widget_2->setMouseTracking ( true );
|
||||
|
||||
this->installEventFilter ( this );
|
||||
//this->installEventFilter ( this );
|
||||
}
|
||||
|
||||
MainWindow::~MainWindow()
|
||||
|
Loading…
x
Reference in New Issue
Block a user