Мой проект GUI в Qt
имеет множество классов «страниц конфигурации», которые все наследуют напрямую от QWidget
.Поддерживает ли Qt виртуальные чистые слоты?
Недавно я понял, что все эти классы имеют 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();
};
Спасибо за ваш точный ответ! Я проверю это как можно скорее;) – ereOn
+1 для вашей «Одной вещи». Хорошая вещь, чтобы знать. –
Проверено: действует как очарование. Еще раз спасибо;) – ereOn