" QWidget :: paintEngine:不应再被调用"使用QMediaPlayer时出现

时间:2017-08-06 23:32:46

标签: c++ qt qt5 qtmultimedia

我实现了播放这样的媒体文件的小部件:

.h file

.cpp file

如果您想在您的环境中编译它,您还应该复制这些文件:mediaslider.h mediaslider.cpp并在.pro文件中添加多媒体和多媒体小部件

它只是使用QMediaPlayer和QVideoWidget,如Qt文档中的示例所示。

我创建这样的小部件:

MediaPlayerWidget player;

player.setSource(
"path_to_videofile");

player.show();

一切正常,但是当我调整窗口大小时,它会在控制台中显示下一个文本:

  

QWidget :: paintEngine:不应再被称为

发生了什么?我没有调用QWidget :: paintEngine。这是Qt的错误吗?

1 个答案:

答案 0 :(得分:1)

是的,这是一个Qt错误。 QWidget :: paintEngine是for Qt core internal use only,但QMediaPlayer似乎正在使用它,可能间接通过在库内的某个点设置WA_PaintOnScreen标志。

对于它的价值,you are not the only person to notice this issue,如果玩家工作,警告可以被相当安全地忽略。未来的Qt更新可能会随着时间的推移解决这个问题。