Russian Qt Forum

Qt => Общие вопросы => Тема начата: yanchick от Май 05, 2011, 16:00



Название: Вызов функции из слота
Отправлено: yanchick от Май 05, 2011, 16:00
Всем привет. Программировал последний раз года 2-3 назад, поэтому сильно не пинайте :) Вобщем, столкнулся намедни со следующей проблемой. Пытаюсь из слота, который присоединен к сигналу clicked(), вызвать свои функции. Функции сразу после сигнала не вызываются, а исполняются только после закрытия приложения. Кто что думает.
Вот код слота:
Код:
void ThreeAxis::Bdish()
{
int j;
Eigen::MatrixXf t;
    Eigen::VectorXf m(3);
    Eigen::VectorXf u(3);
    m << 0.01 , 0.01 , 0.01;
    u << 0.02, 0.01, 0.03;
        for (j=0;j<1500;j++)
{
pl.Step(m,u);
u <<  net1.simulate(pl.Mesuarment()[3]),
         net2.simulate(pl.Mesuarment()[4]),
           net3.simulate(pl.Mesuarment()[5]);
  }
Plot(pl.ppx,1);
}

Слот с сигналом связываю таким макаром
Код:
connect(qpbt_bdysh,SIGNAL(clicked()),this,SLOT(Bdish()));

В общем прошу помощи. Заранее благодарен.


Название: Re: Вызов функции из слота
Отправлено: pokidoff от Май 05, 2011, 16:05
Может надо какой-нибудь update/refresh/redraw вызвать в конце?


Название: Re: Вызов функции из слота
Отправлено: yanchick от Май 05, 2011, 16:11
Может надо какой-нибудь update/refresh/redraw вызвать в конце?
Да нет, тут проблема даже не в отрисовка а входе в мои процедуры. Скажем
Код:
 net1.simulate(pl.Mesuarment()[3])
чисто вычислительная функция, а входа в неё нету.


Название: Re: Вызов функции из слота
Отправлено: yanchick от Май 05, 2011, 16:45
Затупил короче я. Извиняюсь за беспокойство. Вопрос закрыт.


Название: Re: Вызов функции из слота
Отправлено: Авварон от Май 07, 2011, 00:12
Напиши, в чем была проблема, может кто-то также тупанет:)