0

GUIアプリのログウィンドウを作成しようとしています。

sqlとMyServiceという名前のクラスがあります

MyServiceログウィンドウを更新するためにクラスSQLからシグナルをビルドして発行するにはどうすればよいですか?

main.cppで:

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

編集:
SQLクラスのQ_OBJECTを忘れたのですが、エラーが表示されなくなりました

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)
4

2 に答える 2

0

それは私がこれをすべきだと思われます:

QObject::connect(&mySql, SIGNAL(updateMyLog(QString)),&myService,
                 SLOT(updateMyLog(QString)));
于 2012-11-25T18:21:24.313 に答える
0

このように書くとうまくいきますか?

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

1番目と3番目のパラメーターとしてポインターを渡す必要があることに注意してください。はポインタではないためmyService、割り当てられているメモリアドレス(ポインタ)を取得する必要があります。

于 2012-11-25T18:23:08.970 に答える