有没有可能以某种方式动画几个没有计时器的Qt效果?

时间:2015-12-18 12:43:59

标签: python qt animation pyqt

我想制作内置Qt效果的动画,例如同时消失和模糊的文字,但不幸的是,它可以只为一个对象分配一个效果..然后你必须用你的手和计时器完成所有..我想知道有没有办法制作几个效果的动画一个小部件?

举个例子:

from PyQt4 import QtGui, QtCore
import sys

app = QtGui.QApplication(sys.argv)

win = QtGui.QMainWindow()
lbl = QtGui.QLabel()
win.setCentralWidget(lbl)

lbl.setFont(QtGui.QFont('Arial', 100))
lbl.setText('Hello, World!')

win.show()

effect1 = QtGui.QGraphicsOpacityEffect()
effect2 = QtGui.QGraphicsBlurEffect()  # <- how to attach this one also?
lbl.setGraphicsEffect(effect1)

anim = QtCore.QPropertyAnimation(effect1, 'opacity')
anim.setDuration(1000)
anim.setStartValue(1)
anim.setEndValue(0)
anim.start()

sys.exit(app.exec_())

提前感谢!

1 个答案:

答案 0 :(得分:0)

  

我想制作内置Qt效果的动画,例如   同时消失和模糊的文字,但不幸的是它   可以只为一个对象分配一个效果..然后你就有了   通过你的手和计时器完成所有工作..我想知道有没有办法   用一个小部件制作几个效果的动画?

现代技术将是QML:http://api.rubyonrails.org/classes/ActiveRecord/Scoping/Named/ClassMethods.html。有许多Usecase - Animations In QML效果可用。使用QML,我们编写QML对象状态之间的过渡:在我们的情况下,模糊不清晰,模糊不清,反之亦然。至于使用Python进行QML,我不确定,但即使没有C ++,您也可以使用声明性QML和JavaScript创建应用程序。而且,即使使用Python,也可以使用QML blur