Hi,
My GUI project in Qt
has a lot of "configuration pages" classes which all inherit directly from QWidget
.
Recently, I realized that all these classes share 2 commons slots (loadSettings()
and saveSettings()
).
Regarding this, I have two questions:
- Does it make sense to write a intermediate base abstract class (lets name it
BaseConfigurationPage
) with these two slots as virtual pure methods ? (Every possible configuration page will always have these two methods, so I would say "yes") - Before I do the heavy change in my code (if I have to) : does Qt support virtual pure slots ? Is there anything I should be aware of ?
Here is a code example describing everything:
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();
};