【发布时间】:2018-03-07 19:39:33
【问题描述】:
这里是代码。我的想法是当我点击按钮时,窗口会从下到上慢慢变透明,然后窗口的透明度为0,最后窗口关闭,但我不知道该怎么做。
import sys
from PyQt5.QtCore import *
from PyQt5.QtGui import *
from PyQt5.QtWidgets import (QWidget,QPushButton,QVBoxLayout,QApplication)
class Window(QWidget):
def __init__(self, parent = None):
QWidget.__init__(self, parent)
button = QPushButton(self.tr("Click me!"))
button.clicked.connect(self.fade)
layout = QVBoxLayout(self)
layout.addWidget(button)
def fade(self):
self.setWindowOpacity(0.2)
QTimer.singleShot(5000, self.unfade)#it does not work
self.close()
def unfade(self):
self.setWindowOpacity(1)
if __name__ == "__main__":
app = QApplication(sys.argv)
window = Window()
window.show()
sys.exit(app.exec_())
【问题讨论】:
-
试试下面的代码:gist.github.com/eyllanesc/6a582ec1db6e7e89a8da24ceab76a1e7 告诉我它缺少什么来满足你的要求。
-
谢谢。这就是我想要的效果,但是按钮如何连接关闭事件呢?我的意思是当我单击按钮时,窗口会以这种方式关闭
-
请解释清楚。
-
那么,你想让它在你关闭窗口时运行,也就是在你按下按钮的时候,当它完成时,它会关闭?
-
正确。这就是我的意思。
标签: python qt pyqt python-3.5 pyqt5