Для данного определения класса:Почему обычные методы класса могут использоваться как слоты в Qt?
class B : public QObject
{
Q_OBJECT
public:
void normalFunction(){ qWarning() << "normal function";}
signals:
void someSignal();
};
Там будет следующий код:
B a;
QObject::connect(&a, &B::someSignal, &a, &B::normalFunction);
a.someSignal();
Дело в том, что можно использовать обычный метод как слот - без ошибок компиляции, не во время выполнения предупреждений, все выглядит нормально. Правильно ли поведение использовать обычные методы (которые не объявлены в разделе slots
) в качестве слотов? Я полагаю, что метаданные, сгенерированные moc, не используются при подключении сигналов и слотов с помощью указателей функций?