主要来自于Qt论坛中的:Change Mouse Cursor
部分代码有改动,为的是在QML中实现动态更改鼠标图案的效果!
目的:在qml中,当鼠标移动到一个位置(区域)时候(或其它的触发事件),改变鼠标的图案;
前提:自己定义了一个declarativeview,并将这个view注册到qml中(参考qml中注册和使用C++对象),然后再这个自定义的view中写了设置cursor的方法。
ps:这里的方法是自定义了view,并在里面写了相关方法,也可以自己定义一个其它的处理类,然后注册到qml中(应该,没有亲测)是一样的!
实现:
1、自定义一个view
#include <QDeclarativeView>
class MyDeclarativeView : public QDeclarativeView
{
Q_OBJECT
public:
explicit MyDeclarativeView(QWidget *parent = 0);
...
}
2、写相应的cursor处理方法:
void MyDeclarativeView::msetcursor(QGraphicsObject*obj,co