我有一个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)
当我点击按钮时,窗口关闭。
现在,我想自动关闭它。我的意思是当窗口(消息框)出现时,它可以在几秒钟后关闭,而不需要按下按钮。
感谢。
答案 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_()
会自动关闭你的应用程序。