2012-11-25 77 views
0

我正在嘗試爲我的GUI應用程序創建一個日誌窗口。Qt發佈表單A到插槽B中的插槽

我有類名爲SQL和爲MyService

如何構建和類SQL發出信號更新爲MyService日誌窗口?

在main.cpp中

MyService myService; 
    sql mySql; 
    QObject::connect(mySql, SIGNAL(updateMyLog(QString(msg))),myService, 
    SLOT(updateMyLog(QString(msg)))); 

編輯:
我忘了Q_OBJECT在我的SQL類 和錯誤dosnt顯示任何

error: C2665: 'QObject::connect' : 
none of the 3 overloads could convert all the argument types 

EDIT2:
我的updateMyLog插槽是:

public slots: 
void updateMyLog(QString logmessage); 

和我得到不同的錯誤:

QObject::connect: No such signal sql::updateMyLog(QString msg) 
+0

你可以寫你的MyService'updateMyLog'聲明嗎? –

回答

0

請問,如果你把它寫這樣的工作?

QObject::connect(&mySql, SIGNAL(updateMyLog(QString)), &myService, 
SLOT(updateMyLog(QString))); 

請注意,您應該傳遞指針作爲第一個和第三個參數。由於myService不是一個指針,你應該得到它被分配的內存地址(一個指向它的地址)。

+0

多數民衆贊成它,謝謝 – user891908

0

它似乎我應該這樣做:

QObject::connect(&mySql, SIGNAL(updateMyLog(QString)),&myService, 
       SLOT(updateMyLog(QString)));