मुझे एक क्यूटी आवेदन के लिए कई कस्टम इवेंट क्लास बनाने की जरूरत है।क्या क्यूटी कस्टम घटनाओं को पंजीकृत करने का कोई क्लीनर तरीका है?
अभी, यह है कि मैं प्रत्येक घटना के वर्ग के लिए निम्न इवेंट प्रकार पंजीकरण कोड को लागू करने की आवश्यकता होगी दिखता है:
class MyEvent : public QEvent
{
public:
MyEvent() : QEvent(registeredType())
{
}
static QEvent::Type eventType;
private:
static QEvent::Type registeredType();
}
QEvent::Type MyEvent::eventType = QEvent::None;
QEvent::Type MyEvent::registeredType()
{
if (eventType == QEvent::None)
{
int generatedType = QEvent::registerEventType();
eventType = static_cast<QEvent::Type>(generatedType);
}
return eventType;
}
मैं यह कैसे सरल बना सकते हैं, या कम से कम एक मैक्रो के साथ इसे छिपाने पर कोई सुझाव ?
आप [इस स्टैक ओवरफ्लो पोस्ट] (http://stackoverflow.com/a/8232397/5253471) पर भी एक नज़र डाल सकते हैं। यह मेरे लिए अच्छा काम किया। – Francois
@ फ्रैंकोइस हां, आपके द्वारा लिंक किया गया उत्तर इस प्लस के मुकाबले एक और अधिक सुरुचिपूर्ण समाधान प्रदान करता है कि सामान्य घटना प्रकारों को किसी भी घटना को ओवरराइड करने से रोकने के लिए स्थिरांक के रूप में परिभाषित किया जाता है। – rbaleksandar