我需要使用QPainter绘图,但当我尝试使用
void paintEvent( QPaintEvent* )我发现错误:
QPainter::setPen:画家不活动
QPainter::setBrush:画家不活跃
我可以使用QPainter而不是空paintEvent( QPaintEvent* )吗?
谢谢。
发布于 2010-10-26 15:56:41
您正在使用一个小部件作为QPainter的画图设备。在这种情况下,QPainter通常只能在小部件的case事件的上下文中使用。QPainter documentation对此有以下几点看法:
警告:当设备是小部件时,QPainter只能在paintEvent()函数或paintEvent()调用的函数中使用;也就是说,除非设置了Qt::WA_PaintOutsidePaintEvent小部件属性。在Mac和Windows上,您只能在paintEvent()函数中绘制,而不管该属性的设置如何。
通过为QPainter设置另一个画图设备(例如QPixmap ),可以在画图事件之外使用QPixmap。
https://stackoverflow.com/questions/4025293
复制相似问题