读书人

关于Qt中的写屏类 QDirectPainter,该怎

发布时间: 2013-01-26 13:47:04 作者: rapoo

关于Qt中的写屏类 QDirectPainter
小弟想用Qt直接写屏,快速画波形,又可以管理窗口,QDirectPainter类可以实现。但我把类中的标志改成QDirectPainter::NonReserved的话,就总写不了屏,用QDirectPainter::Reserved是可以在指定区域静态写屏的。但我的目的是写屏的区域可以被其它窗体盖上去的,不要因为这写屏而把在这区域的窗体都擦掉了,用了raise(),和lower()也是没有用的。
QFrame *frame =new QFrame;
frame->setGeometry(0,0,640,480);

// QDirectPainter pain(frame,QDirectPainter::NonReserved);
QDirectPainter pain(frame,QDirectPainter::NonReserved);// Reserved ReservedSynchronous
// pain.lower();
pain.startPainting();
pain.setRegion(QRegion(0,0,100,300));

uchar *fb = pain.frameBuffer();

qint32 i=0;
for(i=0;i<256000;i++)
{
*(fb+i) = 65535;
// printf("fdsfsf\n");
}

// pain.flush(pain.allocatedRegion());
pain.endPainting(pain.allocatedRegion());

请问,这类应该怎么用呢?
[解决办法]
这不矛盾么? 你又直接写屏, 又想Qt的组件跑你前面
[解决办法]
画一个图片,作桌面背景

读书人网 >QT开发

热点推荐