Qt 设置鼠标形状

设置窗口鼠标形状 void QWindow::setCursor(const QCursor &cursor)

鼠标光标位于此窗口上时将采用此形状,除非设置了覆盖光标。Qt预定义了一系列有用的鼠标形状。列表如下:
6fc7ebbc35a74b2aa05224eda1624ee3.png

setCursor(const QCursor &cursor)使用:

this->setCursor(Qt::CrossCursor); // this也可改为其他控件
如果未设置光标形状,或者在调用 unsetCursor() 之后,则使用父窗口的光标形状。默认情况下,光标形状为 Qt::ArrowCursor ,即箭头光标。
如果光标离开窗口,即使鼠标被抓住,某些基础窗口实现也会重置光标。如果要为所有窗口设置光标,即使在窗口外,也可以考虑QGuiApplication::setOverrideCursor()。

[static] void QGuiApplication::setOverrideCursor(const QCursor &cursor)

将应用程序覆盖光标设置为光标。应用程序重写游标用于向用户显示应用程序处于特殊状态,例如在可能需要一些时间的操作期间。此光标将显示在应用程序的所有小部件中,直到调用 restoreOverrideCursor() 或其他 setOverrideCursor()。应用程序光标存储在内部堆栈上。setOverrideCursor() 将光标推送到堆栈上,而 restoreOverrideCursor() 将活动光标从堆栈中弹出。changeOverrideCursor()更改当前活动的应用程序覆盖光标。每个 setOverrideCursor() 最终必须跟上相应的 restoreOverrideCursor(),否则堆栈将永远不会被清空。
QApplication::setOverrideCursor(QCursor(Qt::WaitCursor));
calculateHugeMandelbrot();              // lunch time...
QApplication::restoreOverrideCursor();

[static] void QGuiApplication::restoreOverrideCursor()

撤消最后一个 setOverrideCursor()。
如果 setOverrideCursor() 被调用了两次,调用 restoreOverrideCursor() 将激活第一个光标集。再次调用此函数将恢复原始小部件的光标。

[static] QCursor *QGuiApplication::overrideCursor()

返回活动应用程序覆盖光标。如果未定义应用程序光标(即内部光标堆栈为空),则此函数返回 0。

[static] void QGuiApplication::changeOverrideCursor(const QCursor &cursor)

改变当前活动应用程序覆盖光标为指定光标。如果setOverrideCursor()没有被调用,该函数没有效果。

 后续公众号会发布系列教程,更多内容请关注公众号:程序猿学习日记

  • 0
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

程序猿学习

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值