Можно ли использовать QSignalMapper для повторной передачи сигналов с несколькими параметрами? - PullRequest
3 голосов
/ 17 декабря 2009

Можно ли использовать QSignalMapper для повторной передачи сигналов с несколькими параметрами? Я нашел обходной путь, но мне любопытно узнать, возможно ли это.

пример: take
void QLineEdit :: textEdited (const QString & text) [сигнал]

и переиздание:

void newSignal (int group, int pos);

1 Ответ

8 голосов
/ 18 декабря 2009

QSignalMapper не может использоваться для этого, но класс довольно прост для повторной реализации и специализируется для ваших нужд. Просто используйте QMap<QObject*,ValueStruct>, где ValueStruct хранит ваши аргументы. Когда вы получите сигнал, map(), посмотрите на QObject::sender() ( ссылка ) в качестве ключа на карте, чтобы сделать выброс в свой ход.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...