QPropertyAnimation *animation = new QPropertyAnimation(agvs[i], "pos");,報錯:無法從引數AGV轉化爲Qobject,怎麽修改
时间: 2024-02-17 16:01:54 浏览: 27
这个错误的原因是QPropertyAnimation的构造函数需要的第一个参数是QObject类型的对象,而你传递的参数agvs[i]不是QObject类型的对象。为了解决这个问题,你需要确保传递给QPropertyAnimation构造函数的第一个参数是QObject类型的对象。你可以尝试以下两种方法来修改这个问题:
1. 如果你的AGV类继承自QObject类,那么你可以将agvs[i]强制转换为QObject类型的对象,如下所示:
```
QPropertyAnimation *animation = new QPropertyAnimation(static_cast<QObject*>(agvs[i]), "pos");
```
2. 如果你的AGV类没有继承自QObject类,那么你需要将AGV类修改为继承自QObject类,或者在AGV类中添加一个QObject类型的成员变量来作为动画的目标对象,如下所示:
```
class AGV : public QObject {
Q_OBJECT
public:
// AGV类的其他成员函数和变量
private:
// 在AGV类中添加一个QObject类型的成员变量作为动画的目标对象
QObject *animationTarget;
};
// 在创建AGV对象时,将animationTarget成员变量设置为当前对象
AGV *agv = new AGV;
agv->animationTarget = agv;
// 创建动画对象时,使用animationTarget成员变量作为目标对象
QPropertyAnimation *animation = new QPropertyAnimation(agv->animationTarget, "pos");
```
相关推荐
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)