void preparePixmap() { m_pixmap = QPixmap(size()); m_pixmap.fill(Qt::transparent); QPainter p; p.begin(&m_pixmap); p.drawPixmap(0, 0, drawDigits(m_number, rect())); p.end(); }
/*prepare the pixmap */ void Digit::preparePixmap() { m_pixmap = QPixmap(size()); m_pixmap.fill(Qt::transparent); //Fills the pixmap with the given transparent black value (i.e., QColor(0, 0, 0, 0)) QPainter painter; painter.begin(&m_pixmap); painter.drawPixmap(0, 0, drawDigits(m_number, rect())); //Draws the given digits-pixmap at position (0, 0) painter.end(); }
///////////////////////////////////////////////////////////////////// // main draw event for this control ///////////////////////////////////////////////////////////////////// void CFreqCtrl::paintEvent(QPaintEvent *) { QPainter painter(&m_Pixmap); if (m_UpdateAll) //if need to redraw everything { drawBkGround(painter); m_UpdateAll = FALSE; } // draw any modified digits to the m_MemDC drawDigits(painter); //now draw pixmap onto screen QPainter scrnpainter(this); scrnpainter.drawPixmap(0,0,m_Pixmap); //blt to the screen(flickers like a candle, why?) }