我实现了播放这样的媒体文件的小部件:
如果您想在您的环境中编译它,您还应该复制这些文件:mediaslider.h mediaslider.cpp并在.pro文件中添加多媒体和多媒体小部件
它只是使用QMediaPlayer和QVideoWidget,如Qt文档中的示例所示。
我创建这样的小部件:
MediaPlayerWidget player;
player.setSource(
"path_to_videofile");
player.show();
一切正常,但是当我调整窗口大小时,它会在控制台中显示下一个文本:
QWidget :: paintEngine:不应再被称为
发生了什么?我没有调用QWidget :: paintEngine。这是Qt的错误吗?
答案 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更新可能会随着时间的推移解决这个问题。