2010-06-09 8 views
10

मैं सबक्लास में सिग्नल को कैसे संसाधित करूं? मान लें कि मेरा सबक्लास QTextEdit से लिया गया है और सिग्नल textChanged सिग्नल में रूचि रखता है। किसी ऑब्जेक्ट को स्वयं कनेक्ट करने के लिए मूर्खतापूर्ण लगता है, मुझे textChange विधि को ओवरराइड करने में सक्षम होना चाहिए - लेकिन यह virtual नहीं है।क्यूटी उपclass में संकेतों को कैसे संसाधित करें?

ऐसा करने का स्वीकार्य तरीका क्या है?

उत्तर

11

आप लागू नहीं कर सकते/एक संकेत ओवरराइड, तो एक ही तरीका है एक नई स्लॉट बनाने और इसे textChanged() से कनेक्ट करने के लिए है:

connect(this, SIGNAL(textChanged(QString)), this, SLOT(slotTextChanged(QString))); 
3

शायद यह मूर्खतापूर्ण प्रतीत होता है, लेकिन जिस तरह से मैंने इसे किया: मेरी व्युत्पन्न कक्षा को मूल वर्ग द्वारा उत्सर्जित सिग्नल से जोड़ना।

लेकिन मुझे कोई दिलचस्पी है यदि कोई अन्य समाधान है!

1

यह एक स्लॉट के लिए एक संकेत कनेक्ट करने के लिए पूरी तरह से ठीक है समान कक्षा में। तो अपने स्लॉट को कार्यान्वित करें और इसे textChanged(QString)

से कनेक्ट करें
संबंधित मुद्दे