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

.h file

.cpp file

如果要在环境中进行编译,则还应复制以下文件:mediaslider.h mediaslider.cpp并在.pro文件中添加多媒体和多媒体窗口小部件。

就像Qt文档中的示例一样,它仅使用QMediaPlayer和QVideoWidget。

我创建这样的小部件:

MediaPlayerWidget player;

player.setSource(
"path_to_videofile");

player.show();


一切正常,但是当我调整窗口大小时,它会出现在控制台的下一个文本中:


  QWidget :: paintEngine:应该不再被调用


这是怎么回事?我没有打电话给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更新可能会解决此问题。

关于c++ - 使用QMediaPlayer时出现“QWidget::paintEngine:不应再被调用”,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/45537627/

10-09 06:34