代码如下:
使用  p.setPen(Qt::gray)cpu 占用达到60%,而使用p.setPen(Qt::NoPen);不到20%
这是怎么回事呢?
Qt::NoPen是只填充不画边框,就这么点差别,cpu就查这么多吗?
void ChaseWidget::paintEvent(QPaintEvent *event)
{
    Q_UNUSED(event);
    QPainter p(this);
    if (m_pixmapEnabled 
&& !m_pixmap.isNull()) {
        p.drawPixmap(0, 0, m_pixmap);
        return;
    }
    const int extent = qMin(width() - 8, height() - 8);
    const int displ = extent / 4;
    const int ext = extent / 4 - 1;
    p.setRenderHint(
QPainter::Antialiasing, true);
        p.setPen(Qt::gray);
        //p.setPen(Qt::NoPen);   
    p.translate(width() / 2, height() / 2); // center
    for (int segment = 0; segment < segmentCount(); ++segment) {
        p.rotate(QApplication::isRightToLeft() ? m_step : -m_step);
            p.setBrush(colorForSegment(segment));
        p.drawEllipse(QRect(displ, -ext / 2, ext, ext));
    }
}
[ 此帖被maidisula在2011-04-25 09:59重新编辑 ]