Russian Qt Forum
Ноябрь 17, 2024, 21:55 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1]   Вниз
  Печать  
Автор Тема: [РЕШЕНО]Cнятие фокуса(??) с итема QTreeView  (Прочитано 2423 раз)
Nemo2000
Гость
« : Март 26, 2011, 19:12 »

Проблема в следующем.
Имеется QTreeView, в editTriggers() стоит флажок QAbstractItemView::CurrentChanged, тоесть редактирование ячейки происходит при одинарном нажатии мышки на итем.
После редактирования, если подтвердить ввод нажатием Enter'а, делегат естественно пропадает, но итем остаётся всё ещё выделен серым прямоугольником в точечку...из-за этого последующее редактирование ячейки происходит не по одинарному клику, а по двойному,тройному..как когда.
Тоже самое происходит если во время редатирования кликнуть где-нибудь за пределами QTreeView.

Пробовал по-разному очищать выделение и фокус после CommitData, но не помагает

вот..что можно сделать?)
« Последнее редактирование: Март 27, 2011, 21:00 от _Nemo_ » Записан
blood_shadow
Гость
« Ответ #1 : Март 26, 2011, 19:52 »

Проблема в следующем.
Имеется QTreeView, в editTriggers() стоит флажок QAbstractItemView::CurrentChanged, тоесть редактирование ячейки происходит при одинарном нажатии мышки на итем.
После редактирования, если подтвердить ввод нажатием Enter'а, делегат естественно пропадает, но итем остаётся всё ещё выделен серым прямоугольником в точечку...из-за этого последующее редактирование ячейки происходит не по одинарному клику, а по двойному,тройному..как когда.
Тоже самое происходит если во время редатирования кликнуть где-нибудь за пределами QTreeView.

Пробовал по-разному очищать выделение и фокус после CommitData, но не помагает

вот..что можно сделать?)
если просто не делать выделение, можно попробовать -
Код:
selectionModel()->setCurrentIndex(index, QItemSelectionModel::NoUpdate);
или же просто очистить модель выделения, посмотри QItemSelectionModel
Записан
Nemo2000
Гость
« Ответ #2 : Март 27, 2011, 21:00 »

selectionModel()->clear() решило проблему Улыбающийся
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.096 секунд. Запросов: 20.