使用QMediaPlayer时出现"QWidget::paintEngine: Should no longer be called"
"QWidget::paintEngine: Should no longer be called" appears when using QMediaPlayer
我实现了这样的播放媒体文件的小部件:
如果你想在你的环境中编译它,你还应该复制这个文件:mediaslider.h mediaslider.cpp 并在你的 .pro 文件中添加多媒体和多媒体小部件
它只是像 Qt 文档中的示例一样使用 QMediaPlayer 和 QVideoWidget。
我这样创建小部件:
MediaPlayerWidget player;
player.setSource(
"path_to_videofile");
player.show();
一切正常,但是当我调整 window 的大小时,它会出现在控制台中的下一个文本:
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,如果玩家正常工作,可以相当安全地忽略警告。随着时间的推移,未来的 Qt 更新可能会解决此问题。
我实现了这样的播放媒体文件的小部件:
如果你想在你的环境中编译它,你还应该复制这个文件:mediaslider.h mediaslider.cpp 并在你的 .pro 文件中添加多媒体和多媒体小部件
它只是像 Qt 文档中的示例一样使用 QMediaPlayer 和 QVideoWidget。
我这样创建小部件:
MediaPlayerWidget player;
player.setSource(
"path_to_videofile");
player.show();
一切正常,但是当我调整 window 的大小时,它会出现在控制台中的下一个文本:
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,如果玩家正常工作,可以相当安全地忽略警告。随着时间的推移,未来的 Qt 更新可能会解决此问题。