报错信息
error: C2664: “QMetaObject::Connection QObject::connect(const QObject *,const char *,const char *,Qt::ConnectionType) const”: 无法将参数 2 从“overloaded-function”转换为“const char *”
上下文不允许消除重载函数的歧义
代码如下:
connect(ui->minvalue,&QDoubleSpinBox::valueChanged,[=](double value){ m_flighPanel->set_major_min_value(value); });
原因:
QSpinBox 和 QDoubleSpinBox 有两种信号函数,仅仅参数不同,上面的写法无法区分 两种信号
void valueChanged(double); void valueChanged(const QString &);
解决办法
1、用以前的格式,示例
connect(m_pBtn,SIGNAL(sigClicked()),this,SLOT(onClicked()));
2、强制类型转换
connect(ui->sub_minvalue,static_cast<void (QDoubleSpinBox ::*)(double)>(&QDoubleSpinBox::valueChanged),[=](double value){ m_flighPanel->set_sub_min_value(value); });