Pyqt使用中的总结(持续ing)
1. QPropertyAnimation
这个函数中的QByteArray是要用byte格式传入,python中应该将字符串强制转化为bytes,eg:b“windowOpacity”。如果不带转化则会报错 unexpected type 'str'
2. 给QDialog打开加入动态效果
使用QPropertyAnimation的设置重写Dialog的exec函数。以淡入为例:
def exec(self):
self.setWindowOpacity(0.0)
anim = QtCore.QPropertyAnimation(self, b'windowOpacity')
anim.setDuration(1000)
anim.setEasingCurve(QtCore.QEasingCurve.OutBack)
anim.setStartValue(0.0)
anim.setEndValue(1.0)
anim.start(QtCore.QAbstractAnimation.DeleteWhenStopped)
return QtWidgets.QDialog.exec(self)
3. QWidget的Background-Color设置
当继承QWidget类的时候,如果对子类使用stylesheet设置background color的时候会失效。这时,可以尝试一下几种办法。
- 重写paintEvent方法
- 实例化一个QPalette,并设置Widget中的pal属性。
- 将QWidget中的
setAttribute(QtCore.Qt.WA_StyledBackground, True)
后,用styleSheet设置。