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

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

Страниц: [1]   Вниз
  Печать  
Автор Тема: QWidgetTable - запрет выхода из редактирования  (Прочитано 3808 раз)
aliks-os
Гость
« : Октябрь 30, 2010, 17:47 »

Пользователь вносит в ячейку данные, я их проверяю в событии itemChanged(). Как мне правильно сделать, если данные не отвечают определенным требованиям, чтобы ячейка оставалась по прежнему редактируемой
Записан
kibsoft
Хакер
*****
Offline Offline

Сообщений: 625


Просмотр профиля WWW
« Ответ #1 : Октябрь 30, 2010, 19:42 »

Скорее всего нужно переопределить:
Цитировать
void QAbstractItemView::closeEditor ( QWidget * editor, QAbstractItemDelegate::EndEditHint hint )   [virtual protected slot]
у QTableWidget. И там смотреть удовлетворяют требованиям данные или нет.

Пример:
Код:
if (!data.isValid)
    return;
else
    QAbstractItemView::closeEditor(editor, hint);
Сам не пробовал, но должно быть все ok.
Записан

http://kibsoft.ru - Download the Qt Media Encoding Library here

The apps that were written using QtMEL:
http://srecorder.com - Screen recording software
aliks-os
Гость
« Ответ #2 : Октябрь 30, 2010, 21:06 »

спасибо, но выкрутил немного по другому, я с таблицей использую свой делегат, в этом делегате я переопределил closeEditor и все получилось
Записан
kibsoft
Хакер
*****
Offline Offline

Сообщений: 625


Просмотр профиля WWW
« Ответ #3 : Октябрь 30, 2010, 23:02 »

Видимо ты сделал как я написал и переопределил closeEditor в QTableWidget, т.к. в делегате метода closeEditor() нет, есть только сигнал (его ты никак не переопределишь Улыбающийся ).
Записан

http://kibsoft.ru - Download the Qt Media Encoding Library here

The apps that were written using QtMEL:
http://srecorder.com - Screen recording software
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


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