Russian Qt Forum

Qt => Пользовательский интерфейс (GUI) => Тема начата: __Heaven__ от Март 25, 2015, 16:16



Название: [РЕШЕНО] QTreeWidget редактирование + клавиша enter
Отправлено: __Heaven__ от Март 25, 2015, 16:16
Привет, друзья!
У меня имеется класс, наследованный от QTreeWidget. В нём переопределено нажатие enter:
Код
C++ (Qt)
void ModelTree::keyPressEvent(QKeyEvent *event)
{
   if (event->key() == Qt::Key_Return)
       editVolumes(selectedItems());
   else
       QTreeWidget::keyPressEvent(event);
}
 
Теперь получается, что когда я переименовываю элемент в дереве, по нажатию enter я получаю помимо принятия нового имени вызов editVolumes.
Как отделить мух от котлет?


Название: Re: QTreeWidget редактирование + клавиша enter
Отправлено: kambala от Март 25, 2015, 20:49
заведи флажок, который будет означать начало/конец редактирования


Название: Re: QTreeWidget редактирование + клавиша enter
Отправлено: __Heaven__ от Март 25, 2015, 22:32
Как ловится начало/конец редактирования?


Название: Re: QTreeWidget редактирование + клавиша enter
Отправлено: __Heaven__ от Март 26, 2015, 11:03
Гляжу в сторону
Код
C++ (Qt)
void QTreeWidget::​openPersistentEditor(QTreeWidgetItem * item, int column = 0)
Но мне это как-то не по душе. Чистой воды костыль


Название: Re: QTreeWidget редактирование + клавиша enter
Отправлено: __Heaven__ от Март 26, 2015, 11:11
Нашёл!
Код
C++ (Qt)
state() != QTreeWidget::EditingState