pyqt5 窗口从hide到show动画
时间: 2023-07-05 18:36:03 浏览: 166
你可以使用QPropertyAnimation类来实现窗口从隐藏到显示的动画效果。以下是一个简单的例子:
```python
from PyQt5.QtCore import QPropertyAnimation, QRect
from PyQt5.QtWidgets import QApplication, QWidget, QPushButton
class MyWidget(QWidget):
def __init__(self):
super().__init__()
self.setGeometry(100, 100, 300, 300)
self.button = QPushButton("Toggle", self)
self.button.move(100, 100)
self.button.clicked.connect(self.toggle)
self.animation = QPropertyAnimation(self, b"geometry")
self.animation.setDuration(500)
self.animation.setStartValue(QRect(100, 100, 300, 0))
self.animation.setEndValue(QRect(100, 100, 300, 300))
def toggle(self):
if self.isHidden():
self.show()
self.animation.setDirection(QPropertyAnimation.Forward)
else:
self.animation.setDirection(QPropertyAnimation.Backward)
def onFinished():
self.hide()
self.animation.finished.connect(onFinished)
self.animation.start()
app = QApplication([])
widget = MyWidget()
widget.show()
app.exec_()
```
这个例子创建了一个带有一个按钮的窗口,当按钮被点击时,窗口会从隐藏到显示或从显示到隐藏,并带有一个动画效果。
阅读全文