Я использую редактируемый QComboBox
, используя следующее:
setEditable(true);
setInsertPolicy(QComboBox::InsertBeforeCurrent);
connect(this, SIGNAL(activated(const QString&)), this, SLOT(onActivated(const QString&)));
Приведенные выше операторы делают мой комбинированный список, используемый в QTreeView
, доступным для редактирования.Но проблема в том, что я получаю:
«edit: edit failed» сообщения в консоли после выполнения следующих шагов:
- Нажмите наполе со списком
- Введите новое значение, набрав
- Щелкните где-нибудь еще в представлении (выделите фокус)
- Нажмите еще раз в поле со списком, чтобы увидеть, добавляется ли новое введенное значение всписок элементов комбинированного списка.
После шага # 4 отображается сообщение консоли, хотя все остальное работает нормально, т. е. вновь введенное значение добавляется в список элементов qcombobox
.Пожалуйста, помогите мне избавиться от этих сообщений консоли.Скорее всего, это происходит потому, что после шага 3 индекс все еще находится в редактируемом состоянии.Следовательно, на # 4 он выдает консольные сообщения.
Код, вызываемый с onActivated()
:
void Delegate::onDoneEditing(QWidget &w)
{
emit commitData(&w);
emit closeEditor(&w, NoHint);
}