void OvenTimer::paintEvent(QPaintEvent *event)
{
static QPixmap pixmap;
QRect rect = event->rect();
QSize newSize = rect.size().expandedTo(pixmap.size());
pixmap.resize(newSize);
pixmap.fill(this, rect.topLeft());
QPainter painter(&pixmap, this);
int side = QMIN(width(), height());
painter.setViewport((width() - side) / 2 - event->rect().x(),
(height() - side) / 2 - event->rect().y(),
side, side);
painter.setWindow(-50, -50, 100, 100);
draw(&painter);
bitBlt(this, event->rect().topLeft(), &pixmap);
}
经典的Qt双缓冲
最新推荐文章于 2025-07-15 07:40:08 发布