我想在打开编辑器时选择comboBox中的给定项目,以及加载应在编辑器中更新的给定数据。 Combobox没有按预期工作!
当我打开窗口时,我有这些行已经选择了项目:
normBox = new QComboBox(page1);
gridBox->addWidget(normBox, 2, 1, 1, 1);
QStringList normsLst;
normsLst.append(tr("sum"));
normsLst.append(tr("maxF"));
normsLst.append(tr("sumF"));
setComboBoxItems(normsLst, m_normBox);
m_normBox->setCurrentIndex(0);
但是当我创建编辑器时,第一项'Sum'不会显示在组合框中。
然后,我实现了我的'load'函数,它应该在接口中加载保存的数据,并以复习结束:
normBox->setCurrentIndex(model->getNormIdx());
其中model具有准确的成员normIdx。
如何在Qt的组合框中实现正确的选择?
答案 0 :(得分:6)
也许你创建了一个组合框,然后设置另一个的当前索引?
normBox = new QComboBox(page1);
...
m_normBox->setCurrentIndex(0);
什么是setComboBoxItems(normsLst, m_normBox)
?我没有在Qt文档中找到这个函数(有两个参数)。
此代码应该有效:
QComboBox* combo = new QComboBox;
QStringList list;
list << "sum" << "maxF" << "sumF";
combo->addItems(list);
combo->setCurrentIndex(0);