我实现了用于播放媒体文件的小部件,如下所示:
.h 文件
.cpp文件
如果你想在你的环境中编译它,你还应该复制这个文件:mediaslider.h mediaslider.cpp并在你的.pro文件上添加多媒体和多媒体小部件
它只使用 QMediaPlayer 和 QVideoWidget,就像 Qt 文档中的示例一样。
我像这样创建小部件:
MediaPlayerWidget player;
player.setSource(
"path_to_videofile");
player.show();
一切正常,但是当我调整窗口大小时,它会出现在控制台的下一个文本:
QWidget::p aintEngine:不应再调用
这是怎么回事?我没有打电话给QWidget::p aintEngine。是Qt错误吗?
是的,这是一个Qt错误。 QWidget::p aintEngine仅供Qt核心内部使用,但QMediaPlayer似乎正在使用它,可能是通过在库内的某个点设置的WA_PaintOnScreen标志间接使用。
值得一提的是,您不是唯一注意到此问题的人,如果玩家工作,则可以相当安全地忽略警告。 未来的Qt更新可能会随着时间的推移解决这个问题。