防止屏幕上快速移动物体模糊
我正在用Python和Qt框架写一个桌面应用程序,这个程序需要快速地在屏幕上移动图像。我是这样做的:
- 为每个图像创建一个Qlabel对象,并把图像放进去。
- 为每个Qlabel启动一个定时器,使用startTimer。
- 定时器事件会调用一个类似这样的函数:self.move(self.x() + SPEED, self.y()),其中SPEED是一个小的像素值。
这样做是有效的,但即使速度不快(比如每秒500像素),图像(在这个例子中是扑克牌)看起来也很糟糕,模糊得让人受不了。我想也许可以通过调整定时器的触发频率来改善这个问题(让图像移动的距离更大但次数更少,或者距离更小但次数更多),但这样做并没有什么帮助。
有没有人能解释一下这是为什么,以及我该如何解决这个问题?我看过维基百科关于运动模糊的文章,但没什么用。当有人问我这是什么原因时,我提到了一些关于显示器响应时间的事情,但我自己也不太相信这个说法。当他们问我“那为什么玩视频游戏的时候就不会这样呢?”我也无法回答。
编辑:应要求,这是一个示例程序的链接,它展示了这个问题。它需要一个图像文件的路径作为命令行参数。