Generalnie mam wiele sygnałów zdarzeń, które chcę podłączyć do tego samego gniazda. Chcę wiedzieć, w jaki sposób mogę przekazywać parametry oparte na łańcuchach do tego samego gniazda, aby gniazdo wiedziało, z którego źródła pochodzi ten sygnał. Jedną z możliwości jest utworzenie tak wielu gniazd, jak sygnały, a następnie połączenie ich w sposób 1: 1, ale jest to efektywne, biorąc pod uwagę, że kod dla całego przetwarzania jest bardzo podobny. Próbowałem to zrobić, ale ja dostaję jakieś błędy:Wiążące argumenty do sygnałów/gniazd
connect(selecter1,SIGNAL(selected(QString)),this,SLOT(backgroundTypeChoiceMade(QString)));
connect(button1,SIGNAL(clicked()),this,SLOT(backgroundTypeChoiceMade("button1")));
connect(button2,SIGNAL(clicked()),this,SLOT(backgroundTypeChoiceMade("button2")));
Błąd jest związany z parametrami Ja przejeżdżających w ciągu ostatnich 2 komend .. I backgroundTypeChoiceMade
jest zadeklarowane tak:
void backgroundTypeChoiceMade(QString);
Czy ktoś może mi powiedzieć, jaki jest błąd w powyższym kodzie?
Można również użyć właściwości objectName: http://doc.trolltech.com/4.5/qobject.html#objectName-prop –