Поддерживает ли Qt виртуальные чистые слоты?C++

Программы на C++. Форум разработчиков
Anonymous
Поддерживает ли Qt виртуальные чистые слоты?

Сообщение Anonymous »

Мой проект GUI в Qt имеет множество классов «страниц конфигурации», которые все наследуют непосредственно от QWidget.

Недавно я понял, что все эти классы имеют 2 общих слота (loadSettings() и saveSettings()).

По этому поводу у меня два вопроса:

< ul>
[*]Имеет ли смысл писать промежуточный базовый абстрактный класс (назовем его 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();
};


Подробнее здесь: https://stackoverflow.com/questions/299 ... pure-slots

Вернуться в «C++»