QT 源码 嵌入式图形引擎
铃溪 2017-07-21 01:30:20
在调用 QPainter 进行绘图时,会调用 QWidget 的 QPaintEngine 图形引擎,例如在 x11上
QPaintEngine *QWidget::paintEngine() const
{
Q_D(const QWidget);
if (qt_widget_paintengine()->isActive()) {
if (d->extraPaintEngine)
return d->extraPaintEngine;
QWidget *self = const_cast<QWidget *>(this);
self->d_func()->extraPaintEngine = new QX11PaintEngine();
return d->extraPaintEngine;
}
return qt_widget_paintengine();
}
但是在 linux 嵌入式设备中,QRasterPaintEngine在4.8 的版本中被注释了
QPaintEngine *QWidget::paintEngine() const
{
qWarning("QWidget::paintEngine: Should no longer be called");
return 0; //##### @@@
// if (!qt_widget_paintengine) {
// qt_widget_paintengine = new QRasterPaintEngine();
// qt_paintengine_cleanup_handler.set(&qt_widget_paintengine);
// }
// if (qt_widget_paintengine->isActive()) {
// if (d->extraPaintEngine)
// return d->extraPaintEngine;
// const_cast<QWidget *>(this)->d_func()->extraPaintEngine = new QRasterPaintEngine();
// return d->extraPaintEngine;
// }
// return qt_widget_paintengine;
}
请问一下各位大神,在qws linux 嵌入式版本的qt上, QPaintEngine 图形引擎是哪一个啊,在哪里创建的啊??
QT 版本: qt 4.8.5