找回密码
 立即注册
收起左侧

请教QT中的setOverrideCursor 函数参数问题

1
回复
8222
查看
[复制链接]
累计签到:5 天
连续签到:1 天
来源: 2016-10-9 17:08:11 显示全部楼层 |阅读模式
1Qter豆
QT说明手册中的 setOverrideCursor函数的原型为void QApplication::setOverrideCursor ( const QCursor & cursor, bool replace = FALSE ) [静态]
接收的第一个参数是QCursor对象的引用。 但是为什么调用的什么可以写成下面这样呢?
QApplication::setOverrideCursor( Qt::WaitCursor );

这个函数中传入的实参是 Qt::WaitCursor ,而 Qt::WaitCursor 是一个枚举类型。为什么可以这样调用呢?疑惑中?

QCursor这个中的构造函数如下:
QCursor()
QCursor(Qt::CursorShape shape)
QCursor(const QBitmap & bitmap, const QBitmap & mask, int hotX = -1, int hotY = -1)
QCursor(const QPixmap & pixmap, int hotX = -1, int hotY = -1)
QCursor(const QCursor & c)
QCursor(QCursor && other)
~QCursor()


其中第二个构造函数接受的参数类型是Qt::CursorShape shape 这个枚举类型。  setOverrideCursor函数传入参数的类型和这个构造函数有关系吗?


回复

使用道具 举报

累计签到:955 天
连续签到:1 天
2016-10-10 13:46:02 显示全部楼层
setOverrideCursor传入的是QCursor对象的引用,而QCursor的构造函数支持传入枚举类型,具体如何实现的可以参照Qt源码。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

公告
可以关注我们的微信公众号yafeilinux_friends获取最新动态,或者加入QQ会员群进行交流:190741849、186601429(已满) 我知道了