crossplatform.ru

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

 
Ответить в данную темуНачать новую тему
> QTableView и QSqlTableModel, длина редактируемых данных
kamikaze
  опции профиля:
сообщение 15.5.2009, 17:19
Сообщение #1


Новичок


Группа: Новичок
Сообщений: 4
Регистрация: 15.5.2009
Пользователь №: 754

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




Репутация:   0  


Добрый день!

Я использую sqlite для хранения данных, QSqlTableModel (Qt 4.5) для их загрузки и QTableView для их отображения и редактирования. Проблема заключается в том, что sqlite не поддерживает ограничений на длину столбца записи (например VARCHAR(3))... возможно это не такая проблема, если бы было можно как-то ограничить максимальную длину редактируемого текста в столбце QTableView. Но пока что я нигде не могу найти ни документации, ни примера... отсюда вопрос... как мне сделать это ограничение и возможно ли это?

Спасибо
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Kagami
  опции профиля:
сообщение 15.5.2009, 17:50
Сообщение #2


Старейший участник
****

Группа: Участник
Сообщений: 601
Регистрация: 2.2.2009
Пользователь №: 523

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




Репутация:   9  


Сложно но можно. Во-первых надо будет создать своего делегата для редактирования текста, который будет принимать только нужное число символов (см. QItemDelegate).
А затем установить его для нужного столбца:
Цитата
void QAbstractItemView::setItemDelegateForColumn ( int column, QAbstractItemDelegate * delegate )
Sets the given item delegate used by this view and model for the given column. All items on column will be drawn and managed by delegate instead of using the default delegate (i.e., itemDelegate()).
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

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


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




RSS Текстовая версия Сейчас: 19.4.2024, 4:04