Vorher hab ich ein einfaches QWidget genutzt aber den Text nicht gesehen.
Nun nutze ich das QGLwidget und sehe schon immerhin mal den Text.
Aber leider zeichnet er den Text nicht transparent auf auf 3D Szene sondern er füllt den restligen Teil des Bildes komplett mit Grau oder so..obwohl er es laut den Code gar nicht machen dürfte.
Code: Alles auswählen
// hier rendere ich meine 3D Szene mit DirectX
renderTheWindow();
QPainter p(this); // used for text overlay
const QString str1(tr("A simple OpenGL framebuffer object example."));
const QString str2(tr("Use the mouse wheel to zoom, press buttons and move mouse to rotate, double-click to flip."));
p.setPen(QColor(197, 197, 197, 157));
p.setBrush(QColor(197, 197, 197, 127));
p.drawRect(QRect(0, 0, width(), 50));
p.setPen(Qt::black);
p.setBrush(Qt::NoBrush);
QFontMetrics fm(p.font());
p.drawText(width()/2 - fm.width(str1)/2, 20, str1);
p.drawText(width()/2 - fm.width(str2)/2, 20 + fm.lineSpacing(), str2);Weiß jemand rat? wie ich das flickern verhindern kann?