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