QT4.8嵌入.使用QCursor :: SetPos()调整鼠标输入会导致一个抽搐的光标
Qt4.8 embedded. Adjusting mouse input with QCursor::setPos() results in a twitching cursor
我试图通过计算和设置指针的新位置,每个 mousemoveevent()来调整用户鼠标输入(减速/固定鼠标指针)。
在执行 mousemoveevent()之前,指针在其正常位置上绘制。这会导致外观不好,抽搐光标。
这是我如何尝试将指针保持在某个地方而忽略用户输入的示例。
预期行为:当我移动鼠标时,指针保持稳定。
观察到的Bahaviour:指针摇晃。对于一秒钟的一小部分,在移动鼠标的位置绘制了一个新的指针,然后将其移回了它的 oldposition 。。
void MainWindow::mouseMoveEvent(QMouseEvent *)
{
// [event->accept();] Setting this does not help
// [setCursor(Qt::BlankCursor);] Setting this does not help
QCursor::setPos(oldPosition);
// [setCursor(Qt::ArrowCursor);]
}
P.S。可能还有其他方法可以调整嵌入式QT中的小鼠灵敏度。我做对吗?
简短答案:no。
不幸的是,只有仅使用QT库来调整鼠标灵敏度。
您正在遇到的抽搐是因为OS完成了绘制鼠标指针的工作,其频率可能与您从OS接收鼠标移动事件的频率不同。
也无法告诉QT或OS在绘制光标之前向您发送鼠标移动事件。
解决方法:您可以完全隐藏鼠标指针,然后绘制自己的指针。这样,当绘制光标避免故障时,您将完全控制光标。
相关文章:
- 如何创建一个CMake变量,除非显式重写,否则使用默认值
- 删除一个线程上有数百万个字符串的大型哈希映射会影响另一个线程的性能
- 为什么两个不同的未命名名称空间可以共存于一个cpp文件中
- 运行同一解决方案的另一个项目的项目
- 挂起和取消挂起一个文件DLL
- 用C++中的一个变量定义一个常量
- 函数向量_指针有不同的原型,我可以构建一个吗
- 在c++中用vector填充一个简单的动态数组
- 如何在选项卡视图Qt中设置一个新项目,并保存以前的项目
- 预处理器:插入结构名称中的前一个行号
- 我在c++代码中生成了一个运行时#3异常
- 我想将一个对T类型的非常量左值引用绑定到一个T类型的临时值
- 从链接列表c++中删除一个项目
- 如何在 MFC 中围绕当前光标的位置绘制一个矩形
- QT4.8嵌入.使用QCursor :: SetPos()调整鼠标输入会导致一个抽搐的光标
- 在 VC++ MFC 中创建另一个鼠标光标
- 为什么当我在Visual c ++ studio 2010中运行应用程序时光标会转到最后一个文本框
- 如何从最后一个光标位置读取文件
- QT: leaveEvent -检查光标是否在一个小部件的区域
- MFC改变一个对话框的光标从另一个对话框