Qt视图中的“编辑:编辑失败”消息显示可编辑的QComboBox

时间:2019-07-03 10:21:32

标签: c++ qt

我正在使用可编辑的QComboBox,使用以下命令:

setEditable(true);  
setInsertPolicy(QComboBox::InsertBeforeCurrent);
connect(this, SIGNAL(activated(const QString&)), this, SLOT(onActivated(const QString&)));

以上语句使我在QTreeView中使用的组合框变得可编辑。但是问题是我得到了:

  执行以下步骤后,在控制台中显示

“编辑:编辑失败”消息:

  1. 单击组合框
  2. 通过输入
  3. 输入新值
  4. 在视图上单击其他位置(聚焦)
  5. 再次单击组合框,以查看是否将新输入的值添加到组合框项目的列表中。

在#4步骤之后,即使其他所有操作都正常,也将看到控制台消息,即,新输入的值将添加到qcombobox项目列表中。 请帮助我摆脱这些控制台消息。这很可能发生,因为在步骤#3之后索引仍然处于可编辑状态。因此,在#4上它会提供控制台消息。

onActivated()调用的代码:

void Delegate::onDoneEditing(QWidget &w)
{
   emit commitData(&w);
   emit closeEditor(&w, NoHint);
}

0 个答案:

没有答案