我实现了这样的播放媒体文件的小部件:
如果你想在你的环境中编译它,你还应该复制这个文件:mediaslider.h mediaslider.cpp并在您的 .pro 文件中添加多媒体和多媒体小部件
它只是像 Qt 文档中的示例一样使用 QMediaPlayer 和 QVideoWidget。
我这样创建小部件:
MediaPlayerWidget player;
player.setSource(
"path_to_videofile");
player.show();
一切正常,但是当我调整窗口大小时,它会出现在控制台中的下一个文本:
QWidget::paintEngine: Should no longer be called
这是怎么回事?我没有调用 QWidget::paintEngine。是 Qt 错误吗?
最佳答案
是的,这是一个 Qt 错误。 QWidget::paintEngine 是 for Qt core internal use only但 QMediaPlayer 似乎正在使用它,可能是通过在库内某个位置设置的 WA_PaintOnScreen 标志间接使用。
物有所值,you are not the only person to notice this issue ,如果播放器可以正常工作,则可以相当安全地忽略警告。随着时间的推移, future 的 Qt 更新可能会解决此问题。
关于c++ - 使用QMediaPlayer时出现"QWidget::paintEngine: Should no longer be called",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45537627/