从 QStringList 将值设置为 QComboBox

Set Value to QComboBox from QStringList

在我的 Qt C++ GUI 应用程序中,我有一个 QDialog window,在那里我进行了一些行编辑,我通过函数调用和 setText() 设置显示文本。我已将值存储在 QStringList 中(我通过数据库查询填充的 QStringList)并按如下方式设置文本--

void MyDialog::setDataToForm(QStringList sl)
{
        ui->nameLineEdit->setText(sl[0]);
        ui->emailLineEdit->setText(sl[1]);
}

现在,我也有一个 QComboBox (GenderComboBox)。我在那里设置了三个项目——男性、女性、其他(通过 QT Creater 布局编辑器)。在我的 QStringList sl 中,这个值被保存在 sl[2].

如何将 sl[2] 的值设置为 QComboBox ???

您需要设置 QComboBoxcurrentIndex:

QStringList genderList;
genderList << "Male" << Female" << "Other";
ui->genderComboBox->setCurrentIndex(genderList.indexOf(sl[2]));

虽然这适用于您的示例,但我建议您查看 Qt 文档 (Books example, SQL Widget Mapper Example) 中提供的示例,这些示例使用模型根据 SQL 表自动填充小部件内容。