我正在尝试绘制字符串,而我有一个视频palying,就像一个副标题...... 我有一个Phonon :: QVideoWidget,在我的构造函数中:
painter = new QPainter(this);
并且我已经将油漆事件覆盖到此,仅用于测试:
void MyVideoWidget::paintEvent(QPaintEvent* event)
{
painter->drawLine(0, 0, 1, 1);
//painter-> anything shows
}
因此,当我启动播放器时,我发现QPainter没有看到任何内容,只播放正常的视频 任何想法?
答案 0 :(得分:0)
在QPainter
函数中使paintEvent()
为本地实例更为常见。
QPainter painter(this);
这会导致自动调用begin()
和end()
方法。这些是QPainter
正常工作所必需的。您可以尝试在paintEvent()
中手动调用它们,看看是否会产生影响。
您可能尝试在视频上叠加文字的另一件事是在代码中创建QLabel
并将您的视频小部件设为其父级。这不需要对视频小部件进行子类化或覆盖绘制事件。