Russian Qt Forum
Мая 19, 2025, 02:48 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: 1 [2]   Вниз
  Печать  
Автор Тема: сигнал и гуи  (Прочитано 6339 раз)
StatuS74
Гость
« Ответ #15 : Сентября 26, 2011, 13:31 »

попробывал не работает. теперь и сигнал не фурычит в главный поток из потока. хотя коннект опять возвращает тру
Записан
StatuS74
Гость
« Ответ #16 : Сентября 26, 2011, 13:51 »

а самое не понятное я из потока прокидываю сигнал на слот  кнопки на виджите работает. а прокидываю на  слот который я описал не работает... магия какаято
Записан
andrew.k
Гость
« Ответ #17 : Сентября 26, 2011, 14:22 »

попробуй замени QString на const QString &
Записан
StatuS74
Гость
« Ответ #18 : Сентября 26, 2011, 14:31 »

заменил не помагло....
Записан
StatuS74
Гость
« Ответ #19 : Сентября 26, 2011, 14:49 »

а ещё странная вещь...
вот метод ран
Код:
void test::run()
    {     bool fl=false;
          int grad =0;
          bool t3 = false;
          fl=test::tempiratura_datchika(tna_,file_name_,nms_,ftHandle1_,serial_);
           if (fl == true)
           {  grad = test::Start_test(tk_,file_name_,nms_,ftHandle1_,serial_,time_okonch_);
              if (grad>=tk_-0.5)
              {
                 t3 = test::time_test_2(time_okonch_,file_name_,ftHandle1_,serial_,t3);
                   if (t3==true)
                    {
                       emit win(serial_);
                     }
                       else
                         {
                          emit fail2(serial_);
                         }
              }
               else
                 {
                  emit fail1(serial_);
                 }
           }
            else
              {
               emit fail1(serial_);
              }

      }

когда прога доходит до emit win(serial_); она следующим шагом перепрыгивает emit fail1(serial_); при условии что создан только 1 поток и она ну ни как не может быть переведена туда.

коннекты выглядят теперь так

Код:
 bool a;



  a =  connect (this,SIGNAL(signal_sn(const QString &)),this,SLOT(end_test(const QString &)));
  a = connect (this,SIGNAL(signal_error(const QString &)),this,SLOT(error_test(const QString &)));
  a = connect(te, SIGNAL(win(const QString &)),this,SLOT(mysignal_win(const QString &)));
  a = connect(te, SIGNAL(fail1(const QString &)),this,SLOT(mysignal_fail1(const QString &)));
  a = connect(te, SIGNAL(fail2(const QString &)),this,SLOT(mysignal_fail2(const QString &)));
Записан
Страниц: 1 [2]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.022 секунд. Запросов: 18.