मैं एक समस्या में भाग गया कि मुझे मैप किए गए स्रोत सिग्नल के पैरामीटर रखने की आवश्यकता है। अब तक मुझे केवल पैरामीटर के बिना सिग्नल मैप करने के लिए उदाहरण मिलते हैं। उदाहरण के लिए, क्लिक किए गए() संकेत:QSignalMapper का उपयोग करते समय स्रोत सिग्नल के पैरामीटर कैसे रखें?
signalMapper = new QSignalMapper(this);
signalMapper->setMapping(taxFileButton, QString("taxfile.txt"));
connect(taxFileButton, SIGNAL(clicked()),
signalMapper, SLOT (map()));
connect(signalMapper, SIGNAL(mapped(QString)),
this, SLOT(readFile(QString)));
हालांकि, मैं क्लिक किए गए (bool) संकेत अपने स्वयं के मानकों के साथ कुछ संकेत मैप करने के लिए, उदाहरण के लिए की आवश्यकता होगी, तो स्लॉट दो तर्क doStuff (की आवश्यकता है बूल, क्यूस्ट्रिंग):
connect(taxFileButton, SIGNAL(clicked(bool)),
signalMapper, SLOT (map()));
connect(signalMapper, SIGNAL(mapped(QString)),
this, SLOT(doStuff(bool,QString)));
हालांकि, यह इस तरह काम नहीं करता है? क्या कोई काम आसपास है?
धन्यवाद!
तो मेरे अपने मैपर वर्ग को लागू करने के अलावा Qt4 में ऐसा करने का कोई आसान तरीका नहीं है? – Wang
मुझे भी आसान तरीका मिलकर खुशी होगी :)। अब मेरे प्रोजेक्ट में इसी तरह का कार्य Qt4 के लिए वर्णित तरीके से हल किया गया है। –
बहुत अच्छा। मुझे एक सरणी डेटा संरचना (एक्स और वाई इंडेक्स) में विभिन्न नियंत्रणों को मैप करने के लिए QLineEdit :: textEdited ईवेंट के लिए इसकी आवश्यकता थी। तो ... कनेक्ट करें (लाइन एडिट, और QLineEdit :: टेक्स्ट एडिट, [यह] (कॉन्स क्यूस्ट्रिंग और स्ट्र) {ऑन चेंज (एक्स, वाई, स्ट्र);}); –