void SkinsWidget::paintEvent(QPaintEvent *) { if(!is_change) { //初始化皮肤对画框的皮肤 pSettings->beginGroup("skin"); skinName = pSettings->value("background").toString(); skinName = QString(":/skin/image/") + skinName; pSettings->endGroup(); pSettings->sync(); } QPainter painter(this); painter.drawPixmap(rect(), QPixmap(skinName)); QPainter painter2(this); QLinearGradient linear2(rect().topLeft(), rect().bottomLeft()); linear2.setColorAt(0, Qt::white); linear2.setColorAt(0.5, Qt::white); linear2.setColorAt(1, Qt::white); painter2.setPen(Qt::white); painter2.setBrush(linear2); painter2.drawRect(QRect(0, 30, this->width(), this->height()-30)); QPainter painter3(this); painter3.setPen(Qt::gray); static const QPointF points[4] = {QPointF(0, 30), QPointF(0, this->height()-1), QPointF(this->width()-1, this->height()-1), QPointF(this->width()-1, 30)}; painter3.drawPolyline(points, 4); }
void SettingDialog::paintEvent(QPaintEvent *) { QString skin_name; bool is_read = Util::readInit(QString("./user.ini"), QString("skin"), skin_name); if(is_read) { if(skin_name.isEmpty()) { skin_name = QString(":/skin/17_big"); } } else { skin_name = QString(":/skin/17_big"); } QPainter painter(this); painter.drawPixmap(rect(), QPixmap(skin_name)); QPainter painter2(this); QLinearGradient linear2(rect().topLeft(), rect().bottomLeft()); linear2.setColorAt(0, Qt::white); linear2.setColorAt(0.5, Qt::white); linear2.setColorAt(1, Qt::white); painter2.setPen(Qt::white); //设定画笔颜色,到时侯就是边框颜色 painter2.setBrush(linear2); painter2.drawRect(QRect(0, 60, this->width(), this->height()-60)); QPainter painter3(this); painter3.setPen(Qt::gray); static const QPointF points[4] = {QPointF(0, 60), QPointF(0, this->height()-1), QPointF(this->width()-1, this->height()-1), QPointF(this->width()-1, 60)}; painter3.drawPolyline(points, 4); }
/** * Handles paint events by redrawing the graphic in this view. * usually that's very fast since we only paint the buffer we * have from the last call.. */ void QG_GraphicView::paintEvent(QPaintEvent *) { RS_DEBUG->print("QG_GraphicView::paintEvent begin"); RS_SETTINGS->beginGroup("/Appearance"); bool draftMode = (bool)RS_SETTINGS->readNumEntry("/DraftMode", 0); RS_SETTINGS->endGroup(); // Re-Create or get the layering pixmaps PixmapLayer1=getPixmapForView(PixmapLayer1); PixmapLayer2=getPixmapForView(PixmapLayer2); PixmapLayer3=getPixmapForView(PixmapLayer3); // Draw Layer 1 if (redrawMethod & RS2::RedrawGrid) { PixmapLayer1->fill(background); RS_PainterQt painter1(PixmapLayer1); //painter1->setBackgroundMode(Qt::OpaqueMode); //painter1->setBackgroundColor(background); //painter1->eraseRect(0,0,getWidth(), getHeight()); drawLayer1((RS_Painter*)&painter1); painter1.end(); } if (redrawMethod & RS2::RedrawDrawing) { // DRaw layer 2 PixmapLayer2->fill(Qt::transparent); RS_PainterQt painter2(PixmapLayer2); painter2.setDrawingMode(drawingMode); setDraftMode(draftMode); painter2.setDrawSelectedOnly(false); drawLayer2((RS_Painter*)&painter2); painter2.setDrawSelectedOnly(true); drawLayer2((RS_Painter*)&painter2); //removed to solve bug #3470573 // setDraftMode(false); painter2.end(); } if (redrawMethod & RS2::RedrawOverlay) { PixmapLayer3->fill(Qt::transparent); RS_PainterQt painter3(PixmapLayer3); drawLayer3((RS_Painter*)&painter3); painter3.end(); } // Finally paint the layers back on the screen, bitblk to the rescue! RS_PainterQt wPainter(this); //wPainter.setCompositionMode(QPainter::CompositionMode_Screen); wPainter.drawPixmap(0,0,*PixmapLayer1); wPainter.drawPixmap(0,0,*PixmapLayer2); wPainter.drawPixmap(0,0,*PixmapLayer3); wPainter.end(); redrawMethod=RS2::RedrawNone; RS_DEBUG->print("QG_GraphicView::paintEvent end"); }
/** * Handles paint events by redrawing the graphic in this view. * usually that's very fast since we only paint the buffer we * have from the last call.. */ void QG_GraphicView::paintEvent(QPaintEvent *) { // Re-Create or get the layering pixmaps getPixmapForView(PixmapLayer1); getPixmapForView(PixmapLayer2); getPixmapForView(PixmapLayer3); // Draw Layer 1 if (redrawMethod & RS2::RedrawGrid) { PixmapLayer1->fill(background); RS_PainterQt painter1(PixmapLayer1.get()); drawLayer1((RS_Painter*)&painter1); painter1.end(); } if (redrawMethod & RS2::RedrawDrawing) { view_rect = LC_Rect(toGraph(0, 0), toGraph(getWidth(), getHeight())); // DRaw layer 2 PixmapLayer2->fill(Qt::transparent); RS_PainterQt painter2(PixmapLayer2.get()); if (antialiasing) { painter2.setRenderHint(QPainter::Antialiasing); } painter2.setDrawingMode(drawingMode); painter2.setDrawSelectedOnly(false); drawLayer2((RS_Painter*)&painter2); painter2.setDrawSelectedOnly(true); drawLayer2((RS_Painter*)&painter2); painter2.end(); } if (redrawMethod & RS2::RedrawOverlay) { PixmapLayer3->fill(Qt::transparent); RS_PainterQt painter3(PixmapLayer3.get()); if (antialiasing) { painter3.setRenderHint(QPainter::Antialiasing); } drawLayer3((RS_Painter*)&painter3); painter3.end(); } // Finally paint the layers back on the screen, bitblk to the rescue! RS_PainterQt wPainter(this); wPainter.drawPixmap(0,0,*PixmapLayer1); wPainter.drawPixmap(0,0,*PixmapLayer2); wPainter.drawPixmap(0,0,*PixmapLayer3); wPainter.end(); redrawMethod=RS2::RedrawNone; }
void MyCardsPixmapLabel::paintEvent(QPaintEvent * event) { if (!(flipCardsAction1 || flipCardsAction2 || fadeOutAction)) { QLabel::paintEvent(event); } if (fadeOutAction && !fastFlipCardsFront) { QPainter painter(this); painter.setOpacity(frameOpacity); if(isFlipside) painter.drawPixmap(0,0, flipside); else painter.drawPixmap(0,0, front); } if (flipCardsAction1) { QPainter painter2(this); QPointF center(flipside.width()/2.0, flipside.height()/2.0); painter2.translate(center); painter2.scale(frameFlipCardsAction1Size ,1); painter2.translate(-center); painter2.drawPixmap(0,0, flipside); } if (flipCardsAction2) { QPainter painter3(this); QPointF center(front.width()/2.0, front.height()/2.0); painter3.translate(center); painter3.scale(frameFlipCardsAction2Size ,1); painter3.translate(-center); painter3.drawPixmap(0,0, front); } if (fastFlipCardsFront && !flipCardsAction1 && !flipCardsAction2) { if(objectName().contains("pixmapLabel_card0")) { QPainter painter4(this); if(fadeOutAction) { painter4.setOpacity(0.25); } painter4.drawPixmap(0,0, myHiddenFront); } } }