class_docstr: QPushButton which flashes success/failure indication for slow or asynchronous procedures.
class_docstr_tok: ["QPushButton","which","flashes","success\/failure","indication","for","slow","or","asynchronous","procedures","."]
docstr: Displays specified message on button and flashes button red to let user know there was an error. If you want the error to be displayed until the user takes an action, set limitedTime to False. Then call self.reset() after the desired action. Threadsafe. 
docstr_tok: ["Displays","specified","message","on","button","and","flashes","button","red","to","let","user","know","there","was","an","error",".","If","you","want","the","error","to","be","displayed","until","the","user","takes","an","action",",","set","limitedTime","to","False",".","Then","call","self.reset","(",")","after","the","desired","action",".","Threadsafe","."]
code: def failure(self, message=None, tip="", limitedTime=True):
      """Displays specified message on button and flashes button red to let user know there was an error. If you want the error to be displayed until the user takes an action, set limitedTime to False. Then call self.reset() after the desired action. Threadsafe."""
      isGuiThread = (
          QtCore.QThread.currentThread()
          == QtCore.QCoreApplication.instance().thread()
      )
      if isGuiThread:
          self.setEnabled(True)
          # print "fail"
          self.startBlink("#F00", message, tip, limitedTime=limitedTime)
      else:
          self.sigCallFailure.emit(message, tip, limitedTime)
  
file_path: pyqtgraph/pyqtgraph/widgets/FeedbackButton.py
imports: from ..Qt import QtCore, QtWidgets
label_desc: Use image node_id 4 for calling the FeedbackButton obj's underlying member method code with example usage: obj.failure(message, tip, limitedTime) without return types