我试着在播放视频的时候画线,就像字幕一样……我有一个Phonon::QVideoWidget,在它的构造函数中我做到了:
painter = new QPainter(this);我已经将paint事件重写为这个,只是为了测试:
void MyVideoWidget::paintEvent(QPaintEvent* event)
{
painter->drawLine(0, 0, 1, 1);
//painter-> anything shows
}所以当我启动我的播放器时,我看不到QPainter做的任何事情,只有正常的视频播放任何想法?
发布于 2012-06-05 12:32:12
更常见的做法是在paintEvent()函数中将QPainter设置为本地实例。
QPainter painter(this);这会导致自动调用begin()和end()方法。这些是QPainter正常工作所必需的。您可以尝试在paintEvent()中手动调用它们,看看是否有所不同。
您可以尝试在视频上覆盖文本的另一件事是在代码中创建一个QLabel,并使视频小部件成为它的父部件。这不需要对视频小部件进行子类化或覆盖paint事件。
https://stackoverflow.com/questions/10891254
复制相似问题