crossplatform.ru

Здравствуйте, гость ( Вход | Регистрация )

> Редактирование в QTableView
AntonH851
  опции профиля:
сообщение 26.5.2010, 11:46
Сообщение #1


Студент
*

Группа: Участник
Сообщений: 66
Регистрация: 20.2.2010
Из: Шебекино
Пользователь №: 1475

Спасибо сказали: 1 раз(а)




Репутация:   0  


Добрый день!
Подскажите пожалуйста, как решить такую проблему:
После того как ячейка отредактирована, редактор закрывается и фокус передается на следующую ячейку, находящуюся справа.
А мне нужно чтобы фокус оставался на той же ячейке которая редактировалась...
Обычно я для этого в делегате пишу такую строку(в методе setModelData):
((QTableView *)this->parent())->setCurrentIndex(index);


Но сейчас она не помогает.
Может быть это связано с тем, что модель унаследована от QAbstractTableModel и я что-то там не дописал...?
Пробовал посылать сигнал closeEditor с параметром QAbstractItemDelegate::EditPreviousItem, но тогда вообще что-то непонятное происходит, фокус-то на месте остается, но делегат не закрывает редактор(или закрывает и тут же открывает).

и пробовал обрабатывать сигнал dataChanged модели, тоже не помогает. Я устанавливаю нужный мне индекс, а потом почему то все время текущий индекс смещается вправо на одни столбец... а где это выключить непонятно...

Как еще такое поведение можно изменить уже не знаю...

Сообщение отредактировал AntonH851 - 26.5.2010, 12:10
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
 
Начать новую тему
Ответов
Litkevich Yuriy
  опции профиля:
сообщение 26.5.2010, 15:19
Сообщение #2


разработчик РЭА
*******

Группа: Сомодератор
Сообщений: 9669
Регистрация: 9.1.2008
Из: Тюмень
Пользователь №: 64

Спасибо сказали: 807 раз(а)




Репутация:   94  


Цитата(AntonH851 @ 26.5.2010, 19:05) *
а стандартный работает нормально.
посмотри код QStandardItemDelegat, может имеет смысл унаследоваться от него
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
AntonH851
  опции профиля:
сообщение 26.5.2010, 15:47
Сообщение #3


Студент
*

Группа: Участник
Сообщений: 66
Регистрация: 20.2.2010
Из: Шебекино
Пользователь №: 1475

Спасибо сказали: 1 раз(а)




Репутация:   0  


Цитата(Litkevich Yuriy @ 26.5.2010, 16:19) *
Цитата(AntonH851 @ 26.5.2010, 19:05) *
а стандартный работает нормально.
посмотри код QStandardItemDelegat, может имеет смысл унаследоваться от него


а что это за класс такой QStandardItemDelegate?
у меня в Qt такого нет
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

Сообщений в этой теме


Быстрый ответОтветить в данную темуНачать новую тему
Теги
Нет тегов для показа


1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0




RSS Текстовая версия Сейчас: 15.1.2025, 16:39