|
|
1
4
假设您不想从屏幕外的缓冲区中对值进行像素化处理(但更确切地说,只需在缓冲区上重新绘制一些内容,然后再次将其显示到屏幕上),那么您应该使用qpixmap作为缓冲区,而不是qimage。使用后者将禁用所有绘制加速,因为qt使用其软件光栅引擎返回,因此使用qpixmap。如果您使用OpenGL图形系统,您仍然可以从中受益。 有关如何执行此操作的示例,请检查 my last code on running the Monster demo ,它需要有一个屏幕外的像素映射,因为运动模糊的效果,通过重复的绘画源,而不是合成模式。 要禁用qt的备份存储(这通常不是一个好主意),请使用 Qt::WA_PaintOnScreen 对于您的顶级小部件。 有点不相关,但你可能想看看 QRubberBand 小装置。 |
|
|
2
4
在图形区域的顶部绘制时,您应该能够使用合成模式来反转。使用差异合成模式绘制白色。以下示例是显示pixmap的qlabel的子类:
|
|
|
3
0
我知道的最简单、最直截了当的答案是像你以前那样做,对一个qimage,并使用qimage作为屏幕上小部件的源。 另一种选择可能是在图形上添加一个透明的小部件,它只绘制图形的反转部分。不过,我认为这根本无法优化绘图。它很可能会导致绘制底层的图形,然后是反向部分的叠加。 |
|
|
JaredL · PySide插槽未在对象的线程中运行 9 年前 |
|
|
Nameless · qt-在选项卡小部件中显示表单 9 年前 |
|
|
Carmoreno · Pyqt4的“KeyUp”事件 10 年前 |
|
|
Agis Soleas · PyQt堆叠的小部件在函数结束之前不会移动到下一页 10 年前 |
|
|
KcFnMi · 使Qt5连接样式在Qt4中工作 11 年前 |
|
|
Ejaz · QImage将图像保存到仅以p或j开头的文件名 12 年前 |