使用 QMediaPlayer 时出现"QWidget::paintEngine: Should no longer be called"



我实现了用于播放媒体文件的小部件,如下所示:

.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更新可能会随着时间的推移解决这个问题。

相关内容

  • 没有找到相关文章

最新更新