Qt从A类发射到B类插槽
我正在尝试为我的Gui应用程序创建一个日志窗口 我有名为sql和MyService的类 如何从类sql生成并发出信号来更新MyService日志窗口 在main.cpp中: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
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'声明吗?