Updates the label display with the current timer information.

def refresh(self):
        """
        Updates the label display with the current timer information.
        """
        delta = self.elapsed()
        seconds = delta.seconds
        limit = self.limit()
        
        options = {}
        options['hours'] = self.hours()
        options['minutes'] = self.minutes()
        options['seconds'] = self.seconds()
        
        try:
            text = self.format() % options
        except ValueError:
            text = '#ERROR'

        self.setText(text)

        if limit and limit <= seconds:
            self.stop()
            self.timeout.emit()