1

我想在打开编辑器时选择组合框中的给定项目,以及加载应该在编辑器中更新的给定数据时。组合框没有按预期工作!

当我打开窗口时,我有这些行来选择给定的项目:

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);

但是当我创建编辑器时,组合框中不显示第一项“总和”。

然后,我实现了我的“加载”功能,它应该在界面中加载保存的数据,并以复习结束:

normBox->setCurrentIndex(model->getNormIdx());

其中模型具有准确的成员 normIdx。

如何使用 Qt 在组合框中实现正确的选择?

4

1 回答 1

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);
于 2012-07-20T11:48:04.473 回答