您的位置:首页 > 编程语言 > Qt开发

用Q_PROPERTY增加Qt现有类的属性和方法

2016-09-22 18:17 260 查看
改变现有类,比如你要用到一个类的pos、size等。然后Qt提供的这个类没有提供对应方法,我们改怎么办呢?

QT的帮助文档中这样写道:



应用实例:

用Qt的Graphics体系的朋友们可能会发现这个问题,Qt的QGraphicsItem和QGraphicsObject两个类的动画属性中,只有opacity这个动画,却没有geometry动画属性。而geometry动画效果在QPropertyAnimation中是很常用的动画效果。我们通过Q_PROPERTY这个宏来增加这个geometry动画效果。我们看到Qt的源码中这样定义了opacity:



如果我们直接如下这么使用geometry这个动画效果:



编译器会报错告诉我们没有定义geometry这个动画效果,那我们在我们的类中定义宏:





这样,我们的动画效果中就有了geometry哦~
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: