The display does not stay lit, displays the value and turns off.

How to make the display stay on? I use a module with 4 LED display.

#include <DallasTemperature.h>
#include <OneWire.h>
#include <TM74HC595Display.h>
#include <TimerOne.h>

OneWire oneWire(2); // pin D2
DallasTemperature sensors(&oneWire);
float temp;
int SCLK = 7;
int RCLK = 6;
int DIO = 5;
TM74HC595Display disp(SCLK, RCLK, DIO);

void setup() {
  Serial.begin(9600);
  Serial.println("DS18B20 thermometer");
  sensors.begin();
  Timer1.initialize(1000000); 
  Timer1.attachInterrupt(timerIsr); 
}

void loop() {
  sensors.requestTemperatures();
  temp = sensors.getTempCByIndex(0);
  Serial.print("Temp is ");
  Serial.print(temp, 4);
  Serial.println(" C");
  disp.dispFloat(temp, 1); 
  delay(1000);
  disp.clear();   
}
void timerIsr()
{
  disp.timerIsr();
}

Hi.

You are printing a value to the display, wait a full second and then erase the display.
After that, during the next iteration you might send the same data to the display (which is likely), or some updated value.

Do not erase the present data if you aren't sure that is needed.
Store your measurement result in some temporary location.
Next time around, check to see whether the new measurement differs from the old one.
If so, take the right steps.
If not leave things as they were.