从 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
???
您需要设置 QComboBox
的 currentIndex
:
QStringList genderList;
genderList << "Male" << Female" << "Other";
ui->genderComboBox->setCurrentIndex(genderList.indexOf(sl[2]));
虽然这适用于您的示例,但我建议您查看 Qt 文档 (Books example, SQL Widget Mapper Example) 中提供的示例,这些示例使用模型根据 SQL 表自动填充小部件内容。
在我的 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
???
您需要设置 QComboBox
的 currentIndex
:
QStringList genderList;
genderList << "Male" << Female" << "Other";
ui->genderComboBox->setCurrentIndex(genderList.indexOf(sl[2]));
虽然这适用于您的示例,但我建议您查看 Qt 文档 (Books example, SQL Widget Mapper Example) 中提供的示例,这些示例使用模型根据 SQL 表自动填充小部件内容。