Изменить значение, но не отсылать сигнал об изменении

169
27 августа 2018, 09:00

Возможно ли изменить значение QSlider но при этом сделать так, что бы сигнал об изменении не был отправлен в определенном случае?

Такая возможность необходима для того что бы избежать зацикливания установки, и отображения информации о позиции на QSlider. Если такого не сделать выходит следующая ситуация:

  1. Получили сигнал об изменении значения
  2. Установили значение для QSlider
  3. Связанный объект получил сигнал об изменении значения QSlider и отправил его обратно
  4. Вернулись к 1му пункту и по новой

Вот такую ситуацию пытаюсь избежать, но пока ничего не вышло, но подумалось о том что возможно можно сделать так, что бы сигнал в определенных ситуациях не отправлялся?

Answer 1

Проверяйте явно, изменилось ли значение и только в том случае, если изменилось, посылайте сигнал. Это обычная практика. Выглядит это как-то так:

void setValue(const T& value)
{
    if(value == m_Value)
        return;
    m_Value = value;
    emit valueChanged(value);
}
READ ALSO
Lambda + shared_ptr

Lambda + shared_ptr

Вот пример:

191
Проблема с записью в файл символов CR и LF

Проблема с записью в файл символов CR и LF

Я считываю побайтно в бинарном режиме файл и записываю в другойПри записи назад в файл если в первом файле будет символ CR программа запишет...

237
Thymeleaf : не работает header/footer фрагменты

Thymeleaf : не работает header/footer фрагменты

Всем приветРаботаю с Spring boot mvc и Thymeleaf

190
Синхронизация по файлу Java

Синхронизация по файлу Java

Подскажите пожалуйста, как сделать, чтобы потоки синхронизировались по файлу "fileWithAnAdresstxt"

233