andref의 코드의 연속 코드하는 슬롯으로서
class SlotForwarder : public QObject
{
Q_OBJECT
public:
typedef void (*Function)();
SlotForwarder(Function function, QObject* parent = 0)
: QObject(parent)
, m_fptr(function)
{}
public slots:
void forward()
{
m_fptr();
}
private:
Function m_fptr;
};
int main(){
QApplication a(argc, argv);
MyClass myClassObject; //contains a function called MemberFunc
//create a slotforwarder object so
SlotForwarder *memberFuncSlot = new SlotForwarder (std::tr1::bind(&MyClass::MemberFunc, &myClassObject));
QObject::connect(ui.button,SIGNAL(clicked()),memberFuncSlot,SLOT(forward());
}
확실히 어떠한 멤버 함수를 사용하도록. 이것은 정상적인 기능에는 작동하지만 멤버 기능에는 작동하지 않아야합니다. 클래스 멤버 함수에 대해이 작업을 수행하는 방법을 알고 있습니까? 감사합니다 andref. – blueskin
. tr1 :: bind를 사용하여 멤버 함수 부분을 알아 냈습니다. 아래 코드를 게시했습니다. 동적 UI 생성 (동적 신호/슬롯 연결 포함)을위한 작은 앱이 있으면 링크를 게시합니다. – blueskin