Qt从A类发射到B类插槽

Qt从A类发射到B类插槽,qt,signals-slots,Qt,Signals Slots,我正在尝试为我的Gui应用程序创建一个日志窗口 我有名为sql和MyService的类 如何从类sql生成并发出信号来更新MyService日志窗口 在main.cpp中: MyService myService; sql mySql; QObject::connect(mySql, SIGNAL(updateMyLog(QString(msg))),myService, SLOT(updateMyLog(QString(msg)))); 编辑: 我忘记了sq

我正在尝试为我的Gui应用程序创建一个日志窗口

我有名为sql和MyService的类

如何从类sql生成并发出信号来更新MyService日志窗口

在main.cpp中:

    MyService myService;
    sql mySql;
    QObject::connect(mySql, SIGNAL(updateMyLog(QString(msg))),myService, 
    SLOT(updateMyLog(QString(msg))));
编辑: 我忘记了sql类中的Q_对象 错误不再显示

error: C2665: 'QObject::connect' : 
none of the 3 overloads could convert all the argument types
编辑2: 我的updateMyLog插槽是:

public slots:
void updateMyLog(QString logmessage);
我得到了不同的错误:

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

看来我应该这样做:

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

你这样写行吗

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

请注意,应该将指针作为第一个和第三个参数传递。由于myService不是指针,因此您应该获取内存地址,并在其中分配一个指向它的指针。

您可以编写myService'updateMyLog'声明吗?