问题标签 [qregion]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c++ - QPaintEvent - 只更新屏幕的一个区域
在我的代码中,每次我的应用程序获取 GPS 坐标时,我都会尝试绘制点。这些点向右和向下移动“i”个像素。我希望他们保持绘制状态,但似乎整个屏幕总是更新,即使我使用的是 QRegion 参数,该参数旨在指定屏幕上应该更新的区域。请问有人可以帮忙吗?我对此很陌生,不知道出了什么问题。
这是处理此操作的类:
qt - 为 setMask 裁剪 QRegion
我正在做setMask()
一个QRegion
我有一个大QRect
的我正在做一个圆圈
现在我有一个小widgetRect QRect(43,0 93x110)
,我需要从前一个区域裁剪该区域并用于setMasking。
我正在做的事情circleRegion.intersected(widgetRect)
并没有给我正确的结果。我期待一个馅饼区域。我在哪里失踪?
c++ - 改变 QRegion 的几何形状
我使用 QRegion 和 mouseMove 事件实现了自动隐藏功能。现在我有另一个问题。我需要在运行时更改 QRegion 的几何形状,但找不到任何合适的命令。你能帮我解决这个问题吗?
c++ - 为什么 QGraphicsView::update( const QRegion& ) 会导致整个小部件被更新?
我有一个大而复杂的图形视图,需要进行大量处理才能绘制,因此我只想在每帧重绘其中的一部分(OpenGL 视频显示),而其余部分(各种子小部件等)保持不变。
但是,当我使用 QRegion 调用 update() 时,paintEvent 的区域是小部件的完整大小,因此每次都会重绘整个屏幕。似乎没有任何不带参数的 update() 调用(至少,不是我的版本)
什么可能导致绘制事件在其中包含全屏?
输出:
编辑:
我还尝试使用 updateScene(QList) 而不是 update(QRegion),将 viewportUpdateMode 设置为 SmartViewportUpdate,但paintEvent 的区域仍然是屏幕的完整大小。CacheMode 设置为 CacheNone,将其设置为 CacheBackground 会导致 OpenGL 内容不显示。