Я пишу настольное приложение на Python с использованием фреймворка Qt, и оно включает в себя быстрое перемещение изображений по экрану.Я делаю это довольно простым способом:
- Для каждого элемента создайте объект Qlabel со связанным изображением
- Запустите таймер для каждого Qlabel, используя startTimer
- timerEvent приводит к вызову, который выглядит примерно так: self.move (self.x () + SPEED, self.y ()) где SPEED - это небольшое количество пикселей.
Это работает, нодаже на скромных скоростях (скажем, 500 пикселей в секунду) изображения (в данном случае я использую игральные карты) действительно больно смотреть.Там много горизонтального размытия.Я подумал, что смогу смягчить это, изменив частоту, с которой отключается таймер (чтобы изображения перемещались больше или меньше, или меньше), но это не очень помогает.
Может кто-нибудь объяснить, что вызывает это, и как я могу это исправить?Я прочитал статью в Википедии о Размытие в движении , но это не сильно помогло.Когда кто-то спросил меня, что вызвало это, я сказал что-то о времени отклика монитора, но я не убедился в этом, и когда меня спросили: «Так почему же этого не происходит, когда вы играете в видеоигру?Я не мог дать ответ.
Редактировать : По запросу вот паста игрушечной программы, которая обнаруживает проблему.Получает путь к файлу изображения в качестве аргумента командной строки.