Russian Qt Forum

Qt => Общие вопросы => Тема начата: Igors от Август 20, 2009, 17:15



Название: Слот-сигнал рекурс
Отправлено: Igors от Август 20, 2009, 17:15
Добрый день

Осваиваю понемногу ихний слот-сигнал механизм  :) Мне надо чтобы 2 QSplitter сайзились синхронно: пользователь двигает верхний - нижний вслед за ним, и наоборот. Сделал по букварю, нормально. Но получается что 2 QSplitter бесконечно посылают сигналы друг другу. Решил так:

Цитировать
class CLinkSplitter : public QSplitter
{
   Q_OBJECT

public:
    CLinkSplitter( QWidget * parent = 0 ) : QSplitter(parent) {}

private slots:
    void handleMoved( int pos, int index )   
   {
      bool state = blockSignals(true);
      moveSplitter(pos, index);
      blockSignals(state);
   }
};

Вопрос(ы): верно ли я мыслюсь или есть что-то лучше/проще?  Можно ли сделать то же, но не создавая новый класс только для этого?

Спасибо


Название: Re: Слот-сигнал рекурс
Отправлено: lit-uriy от Август 20, 2009, 17:49
тут где-то было про замкнутый круг с сигналами.

Область для поиска, на память:
Пользователь: "nixman" либо "panter_dsd"
Тема: о календарях (виджет с 12 календарями)
Суть: при переключении месяца одного календаря остальные должны обновиться


Название: Re: Слот-сигнал рекурс
Отправлено: Igors от Август 20, 2009, 18:15
тут где-то было про замкнутый круг с сигналами.

Область для поиска, на память:
Пользователь: "nixman" либо "panter_dsd"
Тема: о календарях (виджет с 12 календарями)
Суть: при переключении месяца одного календаря остальные должны обновиться
Спасибо, Юра, нашел (panter_dsd). Нужен класс - значит нужен. Понимаю - везде так и глупых претензий не имею  :)