擅长:python、mysql、java
<p>正如他们已经向您指出的,序列之间的比较是逐元素进行的,考虑到您试图做的是比较QPropertyAnimation</p>
<p>另一方面,由于设计原因,QoObject不具有可比性,因为它们处理许多内部状态,这意味着即使它们具有相同的属性,它们的行为方式也不相同。QPropertyAnimation是QObject,因此它们也继承了该限制</p>
<p>考虑到这一点,不建议实现<code>__eq__</code>方法,因为它与预定义的设计相矛盾,相反,如果要比较某些属性,请创建一个按属性比较属性的方法:</p>
<pre><code>def compare_animations(animation1, animation2):
return (
animation1.target() is animation2.target()
and animation1.propertyName() == animation2.propertyName()
)
</code></pre>
<pre><code>equals = all([compare_animations(anim1, anim2) for anim1, anim2 in zip(list1, list2)])
print(equals)
</code></pre>