c++ - 自定义 Qt 小部件中的一些光标形状很小
问题描述
我有一个应用程序,它使用一个继承自QGraphicsView
其中的类,我将鼠标光标的形状设置为适合当前位置和模式。
基本上,我有一个看起来有点像的方法
Qt::CursorShape MyClass::cursor_shape()
{
if(<some condition>) return Qt::PointingHandCursor;
if(<some other condition>) return Qt::ClosedHandCursor;
...
}
在代码中的某些位置,主要是鼠标事件,我称之为
setCursor(cursor_shape());
到目前为止,这对一个问题是安全的:
对于两个光标形状,特别Qt::ClosedHandCursor
是 ,Qt::OpenHandCursor
光标始终具有系统可能的最小尺寸。
如果用户已将系统光标大小(在 Windows 中,系统设置“鼠标指针 - 更改指针大小”)设置为最小值以外的其他值,则此大小将用于所有其他光标形状,但不适用于这两个形状。
我没有任何更改光标的代码,尤其是没有手动设置光标大小的代码。
有谁知道为什么会这样以及我如何改变它?
从通过位图读取QCursor
构造函数时得到的信息来看,光标大小完全来自系统,甚至不能手动更改?
(如果相关,我使用 Qt5。)
解决方案
推荐阅读
- oracle - 在 oracle 中锁定一个表
- python-3.x - 从包含 2 列的相同组合的 df 中删除行
- javascript - 如何转换一个数组中的首字母以匹配第二个数组中的值
- java - Java,获取一个 Objects 元素到 Map
- ios - 可定位管柱套管的最佳实践
- sql-server - 将 SQL Server 数据库恢复到另一个 SQL Server 实例
- google-visualization - 谷歌折线图
- reactjs - useRef React Hook 和事件侦听器出现问题并更改 img src
- http - 在 Lua 中读取 html 页面
- reactjs - reactjs以对象数组的形式计算状态中存在的所有值的总和