On 03/08/2012 02:24 PM, ext hailong geng wrote: > Hi > Thank you for your reply. What do you mean by "setting a non-zero > alpha in the QSurfaceFormat of the QWindow"? I tried touse the following > code but still get black background. > QQuickViewcanvas; > > QSurfaceFormat surfaceFormat; > > surfaceFormat.setAlphaBufferSize(1000);
Should probably be surfaceFormat.setAlphaBufferSize(8); as I'm not sure if it bails out when it can't find a configuration with at minimum the requested buffer size at the moment. > canvas.setFormat(surfaceFormat); > > canvas.setClearBeforeRendering(true); > > canvas.setClearColor(QColor(Qt::transparent)); > > canvas.setWindowFlags(Qt::FramelessWindowHint); Looks good, I'd expect this to give the expected outcome. Try the alpha buffer fix, and if it still doesn't work please file a bug. It might be that noone has tested this properly with Qt 5 yet. > Would you please tell me something about how does Qt Quick2 render the > scene? I think it doesn't render opengl into video memory > directly because if so, when I drag one other window above the qml > scene, it should flash :) So does it use QGLPixelBuffer class for that? > I am new to opengl and scene graph, I am not clear with the work flow. > But I really want to make the QML View Translucent, this will be very > cool ^_^ It does render directly to the window (although potentially in a separate thread), not sure what kind of flashing you expect, that's mostly solved by compositing window managers. -- Samuel _______________________________________________ Development mailing list [email protected] http://lists.qt-project.org/mailman/listinfo/development
