我正在尝试使用以下代码填充 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++ - 无法将 QStringList 从 lambda 返回到函数中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37884156/