Вы хоть одну статью, хотя бы на Хабре прочитали, как правильно многопоточку организовывать? Ваш код — это нечто заведомо неработоспособное, написанное наугад. Книжку хоть одну по Qt прочитали?
Например, вот это — лютая дичь, бесконечный цикл в UI потоке, из которого нет никакого выхода, очевидно, что оно зависает:
void MainWindow::on_pushButton_15_clicked()
{
ui->pushButton_15->setText("STOP");
while (ui->pushButton_15->text()=="STOP"){
spec_thrd->run();
}
}
Возьмите заведомо рабочий пример, разберитесь, зачем нужна
каждая конструкция, каждая строчка, и потом уже пошагово допиливайте его под себя.