void QPainter::setClipRect(int x, int y, int width, int height, Qt::ClipOperation operation = Qt::ReplaceClip)
在一个主 QWidget 内给一部分区域绘图:
QPainter painter(this);
/* 设置 paint 的目标区域 */
painter.setClipRect(50,40,680,580);
painter.begin(this);
...//绘图操作
painter.end();
QWidget::paintEvent(event);
则,只有(50, 40)到(50 + 680, 40 + 580) 区域内的图像会被显示,其余部分不显示。
参考自:学步网