Qt 프로젝트에서 작업 중이며 QLabel
멤버 함수 및 해당 매개 변수에 대한 포인터를 사용하는 함수를 구현하여 일부 레이블에 적용하는 것으로 결정했습니다.함수 멤버 포인터를 함수의 매개 변수로 전달
applyToLabels (&QLabel::setStyleSheet, "color:red;");
그것은 말한다 :
이가 오류 : 통화에 대해 일치하는 멤버 함수에 'applyToLabels'
후보 템플릿은 무시
template <class R, class ...Args>
void ClockSim::applyToLabels (R (QLabel::*f)(Args...), Args&& ...args)
{
ui->labelSingleTime->*f (std::forward<Args>(args)...);
//Repeat it for many other labels
}
나는 그것을 호출하는 시도 : 'QWidget'과 'QLabel'을 일치시킬 수 없습니다.
모든 솔루션? setStylesSheet
이후 감사
왜 'QWidget'오류가 발생 했습니까? 전체 예제가 표시되지 않는 이유는 무엇입니까? – Arunmu
ClockSim은 QWidget의 파생 클래스입니다. –
또한'char const (&) [10]'형식의 인수를 전달합니다. 만약 당신의 멤버 함수가'const char *'를 기대한다면 이것은 작동하지 않을 것입니다 (아마도 약간의 모호함이있을 것입니다). – Arunmu