내가 이렇게 보이는 몇 가지 코드를 가지고 :어떻게 Qt5가 기본 매개 변수를 사용하여 슬롯에 connect()를 사용할 수 있습니다
class MyClass : public QObject
{
Q_OBJECT
signals:
void SetValue(float value);
public slots:
void OnSetValue(float value, bool fromDatabase = false);
}
connect(this, SIGNAL(SetValue(float)), this, SLOT(OnSetValue(float)));
이 잘 작동하지만 Qt5's new signal/slot syntax 활용 (및 매크로를 제거하려면). 나는이에() 연결을 변경하는 경우 :
connect(this, &MyClass::SetValue, this, &MyClass::OnSetValue);
I 얻기 (비주얼 스튜디오 2013 년) : 신호가
을 제공보다 슬롯이 이상의 인수가 필요합니다
오류 C2338 OnSetValue()를 호출하고 기본 매개 변수를 설정할 수 있지만 매개 변수가 낭비되는 것처럼 보이는 중간 매개 변수를 만들 수 있습니다. 이 문제를 해결하는 더 좋은 방법은 무엇입니까?
Qt 위키에 따르면, 회원 기능 포인터로는 불가능합니다 : https://wiki.qt.io/New_Signal_Slot_Syntax#cons. – sim642
'connect (this, & MyClass :: SetValue, [this] (float value) {OnSetValue (value);});' –