我有一個信號和一個插槽應該很好地配合在一起。QT4沒有這樣的信號
class MemberVisitor: public QObject
{
Q_OBJECT
signals:
void processMember(Member* member, bool &breakLoop);
public:
void processList(QList<Member*>* list);
};
連同:
class MemberFinder: public QObject
{
Q_OBJECT
public slots:
void processMember(Member* member, bool &breakLoop);
public:
Member* member();
MemberFinder(QString memID): m_member(0), m_memID(memID) {};
private:
Member* m_member;
QString m_memID;
};
不完全是複雜的,對不對?但我肯定錯過了一些東西,因爲QT總是給我錯誤:「Object :: connect:沒有這樣的信號MemberVisitor :: processMember()在OperationsOnMembers.cpp中:29」
下面是代碼,應該掛鉤它們:
QObject::connect(visitor, SIGNAL(processMember()), finder, SLOT(processMember()));
我也試過所有合理的選擇,如調用finder函數。但是我仍然遇到同樣的問題。我錯過了什麼?
你有沒有試圖改變breakLoop參數去一個指針,而不是通過由ref? – Gianni 2010-08-30 22:24:59