我正在使用可编辑的QComboBox
,使用以下命令:
setEditable(true);
setInsertPolicy(QComboBox::InsertBeforeCurrent);
connect(this, SIGNAL(activated(const QString&)), this, SLOT(onActivated(const QString&)));
以上语句使我在QTreeView
中使用的组合框变得可编辑。但是问题是我得到了:
执行以下步骤后,在控制台中显示“编辑:编辑失败”消息:
在#4步骤之后,即使其他所有操作都正常,也将看到控制台消息,即,新输入的值将添加到qcombobox
项目列表中。
请帮助我摆脱这些控制台消息。这很可能发生,因为在步骤#3之后索引仍然处于可编辑状态。因此,在#4上它会提供控制台消息。
从onActivated()
调用的代码:
void Delegate::onDoneEditing(QWidget &w)
{
emit commitData(&w);
emit closeEditor(&w, NoHint);
}