写了一个窗体淡入淡出的程序:代码如下:

# -*- coding: utf-8 -*-

"""
Module implementing Form.
"""
from PyQt4 import QtGui, QtCore
from PyQt4.QtGui import QWidget
from PyQt4.QtCore import pyqtSignature

from Ui_fade_out import Ui_Form

class Form(QWidget, Ui_Form):
    """
    Class documentation goes here.
    """
    def __init__(self, parent = None):
        """
        Constructor
        """
        QWidget.__init__(self, parent)
        self.setupUi(self)
        self.opa=1.0
        self.timer1=QtCore.QTimer()
        self.timer2=QtCore.QTimer()
        self.setbkground()
        QtCore.QObject.connect(self.pushButton, QtCore.SIGNAL("clicked()"), self.start_timer1)
        QtCore.QObject.connect(self.timer1, QtCore.SIGNAL("timeout()"), self.fade_out)
        QtCore.QObject.connect(self.pushButton_2, QtCore.SIGNAL("clicked()"), self.start_timer2)
        QtCore.QObject.connect(self.timer2, QtCore.SIGNAL("timeout()"), self.fade_in)
    def setbkground(self):
        self.palette1=QtGui.QPalette()
        self.palette1.setBrush(self.backgroundRole(), QtGui.QBrush(QtGui.QPixmap("./bk.png")))
        self.widget.setPalette(self.palette1)
        self.widget.setAutoFillBackground(True)
    def start_timer1(self):
        self.timer1.start(50)
    def start_timer2(self):
        self.timer2.start(50)
    def fade_out(self):
        self.opa +=-0.1
        self.setWindowOpacity(self.opa)
        if self.opa<=0.2:
            self.timer1.stop()
            #self.close()
    def fade_in(self):
        self.opa +=0.1
        self.setWindowOpacity(self.opa)
        if self.opa>=1.0:
            self.timer2.stop()
if __name__ == "__main__":
    import sys
    app = QtGui.QApplication(sys.argv)
    dlg=Form()
    dlg.show()
    sys.exit(app.exec_())