我实现了用于播放媒体文件的小部件,如下所示:
.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/