自动关闭pyqt4窗口

时间:2014-12-17 05:45:50

标签: python pyqt4

我有一个python代码,用PyQt4创建一个消息框。我的代码的一些行是:

def __init__(self, parent=None):
    QtGui.QWidget.__init__(self, parent)
    self.ui = Ui_MainWindow()
    self.ui.setupUi(self)
    self.ui.pushButton.clicked.connect(self.clear_win)

当我点击按钮时,窗口关闭。

现在,我想自动关闭它。我的意思是当窗口(消息框)出现时,它可以在几秒钟后关闭,而不需要按下按钮。

感谢。

2 个答案:

答案 0 :(得分:2)

您可以添加计时器并在计时器到期时调用self.clear_win

def __init__(self, parent=None):
    QtGui.QWidget.__init__(self, parent)
    self.ui = Ui_MainWindow()
    self.ui.setupUi(self)
    self.ui.pushButton.clicked.connect(self.clear_win)

    QtCore.QTimer.singleShot(3000, self.clear_win)

答案 1 :(得分:-1)

实际上我们在pyqt应用程序的末尾使用sys.exec_()函数,这是一切都出错的地方...... self.close()关闭对话框但不关闭应用程序。 sys.exec_()将接受手动操作或接受关闭按钮单击。如果你删除它,那么应用程序将不会显示给你或它将自动关闭。如果你想在一段时间后关闭应用程序...那么你可以使用sleep(5),self.exec_()会自动关闭你的应用程序。

相关问题