Russian Qt Forum

Qt => Вопросы новичков => Тема начата: fedotok от Марта 11, 2013, 22:24



Название: Почему обнуляются значения переменных.
Отправлено: fedotok от Марта 11, 2013, 22:24
объявлены 3 перменные

Код:
int aValue, bValue, cValue;

есть 3 слота, у каждого на вход одна из перменных, на выходе все три

Код:
 void Tab::aValueChange(int aValue)
 {
     emit signal_aValueChange(aValue, bValue, cValue);
 }

 void Tab::bValueChange(int bValue)
 {
     emit signal_bValueChange(aValue, bValue, cValue);
 }

 void Tab::cValueChange(int cValue)
 {
     emit signal_bValueChange(aValue, bValue, cValue);
 }

Почему на выходе есть значения только одной перменной (соотвественно в зависимотси от вызова слота) а две другие нули ???


Название: Re: Почему обнуляются значения переменных.
Отправлено: Bepec от Марта 11, 2013, 22:46
Потому что вы вообще нигде ничего не присваиваете :D


Название: Re: Почему обнуляются значения переменных.
Отправлено: gil9red от Марта 11, 2013, 22:48
Потому что вы вообще нигде ничего не присваиваете :D
Может быть, где то в коде и есть присваивание)

fedotok, покажите подключение этих слотов

а вы не пробовали просмотреть что получают данные 3 слота в качестве параметров?
что то типа:
Код:
void Tab::aValueChange(int aValue)
 {  
      qDebug() << aValue;
     emit signal_aValueChange(aValue, bValue, cValue);
 }


Название: Re: Почему обнуляются значения переменных.
Отправлено: fedotok от Марта 12, 2013, 06:41
значения шли со слайдеров, и я думал, что они присваиваются. Ошибку понял, и в итоге избавился от кучи лишних слотов.

Код:
        connect(sliderA, SIGNAL(valueChanged(int)), this, SLOT(rrValuesHolder(int)));
        connect(sliderB, SIGNAL(valueChanged(int)), this, SLOT(rrValuesHolder(int)));
        connect(sliderC, SIGNAL(valueChanged(int)), this, SLOT(rrValuesHolder(int)));

void Tab::rrValuesHolder(int)
 {
     int a = sliderA->value();
     int b = sliderB->value();
     int c = sliderC->value();
     qDebug() << a;
     qDebug() << b;
     qDebug() << c;

 }


Название: Re: Почему обнуляются значения переменных.
Отправлено: Bepec от Марта 12, 2013, 06:54
Не совсем идеально, но 5+ :)