Я создал класс для обработки данных, полученных из слотов, и создал несколько перегруженных методов с тем же именем с другим типом параметра.Перегрузка сигналов и слотов Qt5.6
Можно ли использовать перегруженные методы в качестве слотов?
У меня есть два заявления, до сих пор:
void notify(uint uintData);
void notify(float fltData);
Однако второй производит предупреждение во время выполнения:
QObject::connect: No such slot clsSlot::notify(float)
Найдено это что означает, что должно работать: http://doc.qt.io/qt-5/signalsandslots.html
Но это Безразлично 't ...
От класса' clsSlot ':
public slots:
void notify(uint uintValue);
void notify(float fltValue);
Реализация:
void clsSlot::notify(float fltValue) {
notifyPrimitive(meID, QString::number(fltValue));
}
void clsSlot::notify(uint uintValue) {
notifyPrimitive(meID, QString::number(uinValue));
}
Connect вызов:
QObject::connect(Fcs::Mount::GetRef()
,&Fcs::Mount::signalElevation
,pobjHandler, &clsSlot::notify);
pobjHandler является указателем на экземпляр clsSlot.
Да, у вас могут быть перегруженные слоты. Вам нужно будет показать больше кода. Например, как вы фактически выполняете соединение? Как объявлен и определен слот? –
Отредактировано с объявлением и вызовом соединения. – SPlatten