Я хотел бы отобразить кнопку с анимированной стрелкой.
Чтобы нарисовать его, я создал класс, который наследует QGraphicsObject
и использует класс QPainterPath
.
Я рисую его в QGraphicsScene
и анимирую, используя свойство geometry
, переопределенное в классе MyArrow.
Вы можете найти весь код здесь: https://github.com/TaiZzZ/arrowAnimation
Моя проблема заключается в следующем:
Стрелка анимируется (это означает, что она движется вправо и возвращается назад), но остается закрашенной во время движения. У вас есть идеи, почему?
Ps: у меня такое же поведение с использованием QState Machine, поэтому я Я предполагаю, что проблема возникает только из-за того, как я рисую стрелки.
Я пробовал две разные вещи:
Преобразование кривой Безье в линию не решает проблему.
Вместо того, чтобы рисовать путь, я нарисовал прямоугольник (
boundingRect()
) (поэтому я изменил толькоdrawPath(path)
), и это работает
Итак, в заключение, ошибка возникает из-за QPainterPath... но почему?
РЕДАКТИРОВАТЬ :
Вот картинки, иллюстрирующие мою проблему:
Обратите внимание, что он больше не сглаживается...
qmake
. - person G.M.   schedule 28.06.2017