我正在尝试使用以下代码填充QT 5.7中的组合框:
ui->comboBox_2->addItems([]() -> QStringList {
QDate date = QDate::currentDate();
int current_year = date.toString("yyyy").toInt();
QStringList year_list;
for (int i = 0; i <= 50; i++) {
year_list << QString::number(current_year - (50 - i));
}
return year_list;
});
但这给了我这个错误:
no viable conversion from '(lambda at ..)' to 'const QStringList'
有什么问题?
最佳答案
addItems需要一个QStringList,而不是生成QStringList的lambda,因此您必须调用lambda来获取QStringList:
ui->comboBox_2->addItems([]() { ... }());
关于c++ - 无法从Lambda返回QStringList到函数,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/37884156/