我有项目委托,当鼠标事件结束图标时,我将其光标更改为Qt :: PointingHandCursor 当它关闭时,我将其设置回Qt :: ArrowCursor。它的工作正常。
问题是,除了它在图标上时。它总是堆叠在Qt :: ArrowCursor 上,即使在图标需要像本地调整窗口大小或通过本机按钮时那样改变的情况下。它总是Qt :: ArrowCursor。
当它不在图标上时,我该如何强制光标正常动作?
这里是我做的:Qt鼠标光标重置
Q
Qt鼠标光标重置
2
A
回答
4
您需要使用restoreOverrideCursor()
给每个呼叫撤消setOverrideCursor()
。从文档:
http://doc.qt.io/archives/qt-4.7/qapplication.html#setOverrideCursor
应用游标被存储到内部栈中。 setOverrideCursor()将光标推入堆栈,并且restoreOverrideCursor()将活动光标弹出堆栈。 changeOverrideCursor()更改当前活动的应用程序 覆盖光标。每一个setOverrideCursor()必须最后被相应的restoreOverrideCursor()跟在 之后,否则堆栈将永远不会被清空。
你必须弄清楚究竟是如何使这项工作在你的代码(这是不完全清楚自己想要什么样的行为),但你可以通过更换该else
条款
{
Qt::CursorShape shape = Qt::ArrowCursor;
QApplication::setOverrideCursor(QCursor(shape));
}
启动
{
QApplication::restoreOverrideCursor();
}
相关问题
- 1. Qt Windows获取鼠标光标图标
- 2. Silverlight:重写鼠标光标
- 3. Qt鼠标光标透明度
- 4. Qt:拖动时更改鼠标光标
- 5. 从鼠标光标位置
- 6. firemonkey设置鼠标光标位置
- 7. 如何重置鼠标光标位置c#
- 8. 如何重置Selenium鼠标光标位置?
- 9. CSS鼠标光标...旋转光标?
- 10. 无法设置鼠标光标JLayeredPane
- 11. 鼠标光标在Javascript中的位置?
- 12. 鼠标光标位置改变
- 13. PyGame从位图设置鼠标光标
- 14. 鼠标移动-crosshair光标
- 15. jquery替换鼠标光标
- 16. JavaScript鼠标光标指针
- 17. Java GUI鼠标光标
- 18. Jssor光标鼠标悬停
- 19. 鼠标光标未显示
- 20. 移动鼠标光标Javascript
- 21. 不显示鼠标光标
- 22. 放大鼠标光标
- 23. 鼠标光标位图
- 24. 跟踪鼠标光标android
- 25. Qt - 设置相对鼠标位置
- 26. Qt- QTextEdit的光标
- 27. 鼠标事件QT
- 28. 如何更改鼠标光标图标?
- 29. WinAPI获取鼠标光标图标
- 30. C#Winforms - 更改鼠标光标图标