Using a thermal camera in qt

The first problem is that the Thermal_CameraTimeout_Func() isn’t a timeout function, it gets called once in on_btn_thermal_start_clicked().
Generally the cameras need some time for calibration, that’s why the first image is gray.
Advice: go step by step. First write a simple program that captures Mat images and displays them using imshow in a loop. If it goes well, then add the Qt interface.

Otherwise, as a general rule it’s the best to use the SDK of the camera to get the images, then cast them to OpenCV Mat, QImage and so on.
The SDK will allow full control over the camera which is particularly useful for exotic equipment like thermal cameras. E.g. you can request either false color images or data representing temperature values.