Как использовать QElapsedTimer без QTimer?
Когда я попытался использовать QElapsedTimer для очистки текста в метке, я не смог найти способ использовать его без QTimer. Есть ли способ подключить метод, чтобы он что-то делал, когда QElapsedTimer достигает определенного значения? Чтобы быть более конкретным, я хочу очистить текст, который я установил дляlblSendError
используяprint_username()
метод через 5 секунд прошел. Здесь я использовалclear_username()
метод, чтобы очистить его. Прямо сейчас я подключил его к QTimer, чтобы он периодически запускался.
Это моя текущая реализация QElapsedTimer в моем коде:
class win2(QtWidgets.QMainWindow):
def __init__(self):
QtWidgets.QMainWindow.__init__(self)
uic.loadUi('designs/win2.ui', self)
self.butPrevious.clicked.connect(self.goto_page1)
self.butSend.clicked.connect(self.print_username)
self.clearTimerE = QtCore.QElapsedTimer()
print(dir(self.clearTimerE))
self.clearTimer = QtCore.QTimer()
self.clearTimer.setInterval(1000)
self.clearTimer.timeout.connect(self.clear_username)
def goto_page1(self):
self.hide()
w1.show()
def print_username(self):
self.lblSendError.setText(w1.textUsername.toPlainText())
self.clearTimerE.start()
self.clearTimer.start()
def clear_username(self):
print(self.clearTimerE.elapsed())
if self.clearTimerE.elapsed() >= 4000:
self.lblSendError.setText('')
#self.clearTimerE.restart()
self.clearTimer.stop()