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

标签 c++ qt qt5 qtmultimedia

我实现了这样的播放媒体文件的小部件:

.h file

.cpp file

如果你想在你的环境中编译它,你还应该复制这个文件: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/

相关文章:

c++ - 列表将类转换为父类

c++ - 如何从函数返回 char 数组?

c++ - QT creator如何让一个UI生成的类继承其他类?

c++ - 没有默认程序时如何用Qt打开文件?

python - 如何为 Python 2.7 安装 Pyside?

c++ - QSerialPort行为不一致,具体取决于起始波特率

c++ - 可变参数模板提取

c++ - 如何在 YAML-CPP 中将版本字符串写为文字(而非字符串)?

c++ - 包含 QML 中的对象的 QAbstractListModel 有哪些缺点?

c++ - 调用QQmlPropertyMap子进程的子进程?