您可以使用pyqt's
Qtimer
. 更具体地说singleShot
设置 :QTimer.singleShot (int msec, QObject receiver, SLOT()SLOT() member)
QtCore.QTimer.singleShot(1000, lambda: self.Box.append("Text2")) #1000 milliseconds = 1 second
或者你可以尝试这个实现:
self.timerScreen = QTimer()
self.timerScreen.setInterval(1000) #1000 milliseconds = 1 second
self.timerScreen.setSingleShot(True)
self.timerScreen.timeout.connect(self.Box.append("Text2"))
第2部分
您可能可以这样做,但我不建议这样做:
def testSleep(self):
self.lineEdit.setText('Start')
QtCore.QTimer.singleShot(10000, lambda: self.Box.append("Text2"))
QtCore.QTimer.singleShot(10000,lambda: self.timerEvent)
def timerEvent(self):
QtCore.QTimer.singleShot(10000, lambda: self.Box.append("Text3"))
你最好只做这样的事情:
x = 10000 #or whatever number
QtCore.QTimer.singleShot(10000 + x, lambda: self.Box.append("Text3"))