मेरे GUI प्रोजेक्ट में Qt
बहुत सारे "कॉन्फ़िगरेशन पृष्ठ" वर्ग हैं जो सभी सीधे से प्राप्त करते हैं QWidget
।
हाल ही में, मुझे एहसास हुआ कि ये सभी वर्ग 2 कॉमन्स स्लॉट ( loadSettings()
और saveSettings()
) साझा करते हैं।
इस बारे में, मेरे दो सवाल हैं:
- क्या
BaseConfigurationPage
इन दो स्लॉट्स को वर्चुअल प्योर मेथड्स के साथ इंटरमीडिएट बेस एब्स्ट्रैक्ट क्लास (इसे नाम देने देता है ) लिखने का कोई मतलब है ? (हर संभव कॉन्फ़िगरेशन पेज में हमेशा ये दो तरीके होंगे, इसलिए मैं "हाँ" कहूंगा) - इससे पहले कि मैं अपने कोड में भारी बदलाव करूं (अगर मुझे करना है): क्या Qt वर्चुअल शुद्ध स्लॉट का समर्थन करता है? क्या मुझे कुछ पता होना चाहिए?
यहाँ सब कुछ का वर्णन एक कोड उदाहरण है:
class BaseConfigurationPage : public QWidget
{
// Some constructor and other methods, irrelevant here.
public slots:
virtual void loadSettings() = 0;
virtual void saveSettings() = 0;
};
class GeneralConfigurationPage : public BaseConfigurationPage
{
// Some constructor and other methods, irrelevant here.
public slots:
void loadSettings();
void saveSettings();
};