获取QPainter的可见区域

沙绍尔姆

我在中绘制QWidget一个所有者QScrollArea,因此在绘制时,我只想绘制可见的部分。为此,我需要具有的可见区域的矩形QPainter

唯一的候选对象是QPainter::viewport()QPainter::window()QPainter::clipBoundingRect(),因此我将以下代码记录到它们的输出中:

    setMinimumHeight(3000);
    setMinimumWidth(3000);
}
void MyWidget::paintEvent(QPaintEvent *)
{
    QPainter painter(this);
    qDebug() << painter.viewport() << painter.window() << painter.clipBoundingRect();

然后我移动了水平和垂直滚动条,但是记录的输出很奇怪:

QRect(0,0 3000x3000) QRect(0,0 3000x3000) QRectF(-21,-21 0x0) 
QRect(0,0 3000x3000) QRect(0,0 3000x3000) QRectF(-1,-21 0x0) 
QRect(0,0 3000x3000) QRect(0,0 3000x3000) QRectF(-1,-1 0x0) 

如您所见,这些功能都无法提供实际的可见区域,我该如何获得呢?

lpapp

我会尝试这样做:

...
    setMinimumHeight(3000);
    setMinimumWidth(3000);
}
void MyWidget::paintEvent(QPaintEvent *paintEvent)
{
    qDebug() << paintEvent.rect();
...

有关详细信息,请参见文档

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

获取QPainter的可见区域

来自分类Dev

JavaFX:获取ScrollPane的可见区域

来自分类Dev

可见区域的位置

来自分类Dev

在osmdroid中获取地图唯一可见区域的BoundingBox

来自分类Dev

Android-获取Scrollview可见区域的ScreenShot

来自分类Dev

聚焦在可见区域之外

来自分类Dev

设置UIScrollView可见区域

来自分类Dev

获取可见的URL

来自分类Dev

SpriteKit-获取缩放场景上可见区域的实际大小/帧。

来自分类Dev

获取 LatLngBounds(可见区域)的子边界 - 谷歌地图 v2

来自分类Dev

Swift mkmapview 从纬度经度增量获取可见地图区域的缩放级别、宽度或半径

来自分类Dev

获取可见区域的地址列表(谷歌地图 v2)

来自分类Dev

从UICollectionView可见区域创建UIImage

来自分类Dev

如何使仅特定区域的画布可见?

来自分类Dev

屏幕边界扩展了可见区域

来自分类Dev

基础显示模态超出可见区域

来自分类Dev

EarthSatellite 下方的 Skyfield 可见区域

来自分类Dev

获取不可见的 UITableViewCell

来自分类Dev

互动区域比实心圆的可见区域小得多

来自分类Dev

如何将元素放置在表格可见区域的中间?

来自分类Dev

在可见区域之外时目标注释的方向

来自分类Dev

移动GoogleMap的UI控件,同时不移动可见区域

来自分类Dev

div滚动条在可见区域之外

来自分类Dev

有可见区域的边界吗?[SceneKit iOS]

来自分类Dev

edittext不会向下增长,文本会超出可见区域

来自分类Dev

java如何在JPanel中仅显示可见区域

来自分类Dev

X11将鼠标限制在可见区域

来自分类Dev

检查在可见区域android上显示的标记数

来自分类Dev

HtmlAgilityPack的可见区域有多深?