Qt QMovie是私人的

Qt QMovie是私人的,qt,return,private,Qt,Return,Private,我有这个: QMovie Tests::QMovieReturn() { QMovie ReturnMovie; ReturnMovie->setFileName("Test.gif"); return ReturnMovie; } 但是它说:“QMovie::QMovie(constqmovie&)”是私有的 在这方面。(将我发送到返回电影的行) 如果我取消退货,一切正常。任何解决方法?您可能应该使用new动态分配QMovie,并返回一个指针,因为QMovies

我有这个:

QMovie Tests::QMovieReturn() {
    QMovie ReturnMovie;
    ReturnMovie->setFileName("Test.gif");
    return ReturnMovie;
}
但是它说:“QMovie::QMovie(constqmovie&)”是私有的 在这方面。(将我发送到返回电影的行)


如果我取消退货,一切正常。任何解决方法?

您可能应该使用
new
动态分配
QMovie
,并返回一个指针,因为
QMovie
s显然不希望被复制。

因此编译器说,复制构造函数是私有的。这意味着Qt的开发人员不希望您使用它。解决方法,或者更好地说,正确使用QMovie是在堆上创建它

QMovie* ReturnMovie = new QMovie;

如果这是我无法返回的唯一方法,那么没有其他类允许我返回动画GIF?@Kazuma您可以完美地返回
QMovie*
.QMovie MyFunction::TestFunction(){QMovie*MyMovie=new QMovie;return MyMovie;}我已经完成了(如果您是这个意思的话)。仍在使用isuse:/呜呜!我想我明白了!QMovie*MyFunction::TestFunction(){QMovie*MyMovie=new QMovie;返回MyMovie;}