在你的代码中,出现了一个错误。原因是你使用了错误的语法来连接valueChanged
信号和lambda函数。
在Qt的信号与槽机制中,QObject::connect()函数有多个重载版本。对于C++11以及更高版本,可以使用新的语法来进行信号与槽的连接。
以下是正确的连接方式:
ui->spinBox->setMinimum(0);
ui->spinBox->setMaximum(100);
QObject::connect(ui->spinBox, QOverload<int>::of(&QSpinBox::valueChanged), this, [this](int value){
qDebug() << "Value changed:" << value;
emit UpdateScore(value);
});
注意,在这里我们没有在&ui->spinBox
前面添加地址运算符(&),因为ui->spinBox
已经是一个指针对象。
请尝试使用以上修改后的代码,如果还有其他问题,请随时提问。
内容由零声教学AI助手提供,问题来源于学员提问