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) 区域内的图像会被显示,其余部分不显示。

参考自:学步网

04-15 12:45