繁体   English   中英

自动关闭pyqt4窗口

[英]close pyqt4 window automatically

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

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)

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

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

谢谢。

您可以添加一个计时器,并在计时器到期时调用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)

实际上,我们在pyqt应用程序的末尾使用sys.exec_()函数,这是所有错误的地方... self.close()关闭对话框,但不关闭应用程序。 sys.exec_( )将接受手动执行的操作或接受关闭按钮的单击。 如果您删除它,则不会向您显示该应用程序,否则它将自动关闭。 如果您想在某个时间后关闭应用程序...则可以使用sleep(5), self.exec_()将自动关闭应用程序。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM