问题
signals:
void openImage(const QString& filePath);
slots:
void onOpenImage(const QString& filePath);
connect(this, SIGNAL(openImage(const QString& filePath)), &*extension, SLOT(onOpenImage(const QString& filePath)));
编译器和编译时不会报错,但是运行时会报错:QObject::connect: No such signal。
原因
Qt中信号函数和connect中的信号参数传递只要类型名,不要形参名,connect中的槽函数也不要写形参名,否则运行的时候就不能通过
解决
signals:
void openImage(const QString&);
slots:
void onOpenImage(const QString& filePath);
connect(this, SIGNAL(openImage(const QString&)), &*extension, SLOT(onOpenImage(const QString&)));