![]() |
Здравствуйте, гость ( Вход | Регистрация )
![]() |
Steklova Olga |
![]()
Сообщение
#1
|
![]() Участник ![]() ![]() Группа: Участник Сообщений: 198 Регистрация: 27.9.2011 Из: Санкт-Петербург Пользователь №: 2912 Спасибо сказали: 5 раз(а) Репутация: ![]() ![]() ![]() |
Всем привет!
![]() У меня в БД FireBird есть следующая таблица: Хочу ее отобразить в QTableView. Оператор должен иметь возможность просмотра таблицы, а редактирование данных должно быть запрещено. Для этого мне, видимо, нужно создать делегат. Посмотрите, пожалуйста, для моего случая достаточно того, что я написала? delegate.h
delegate.cpp
mainwindow.cpp
![]() Сообщение отредактировал Steklova Olga - 2.4.2012, 15:29 |
|
|
![]() |
Steklova Olga |
![]()
Сообщение
#2
|
![]() Участник ![]() ![]() Группа: Участник Сообщений: 198 Регистрация: 27.9.2011 Из: Санкт-Петербург Пользователь №: 2912 Спасибо сказали: 5 раз(а) Репутация: ![]() ![]() ![]() |
wiz29, а вот что я заметила в части использования QLineEdit в качестве делегата:
1. Если не создавать делегат вручную, но начать редактирование поля типа VARCHAR(1000), то, действительно, на экране появится QLineEdit в этой ячейке, но, если до выхода из редактирования расширить или сузить мышью окно, то ширина QLineEdit останется такой, как она была до изменения размера окна, а из под него будет видна часть многострочного текста (см рис1). 2. Если создать класс делегата, указав в createEditor установить этот делегат для колонки представления, начать редактирование поля типа VARCHAR(1000), то на экране появится QLineEdit в этой ячейке, а, если до выхода из редактирования расширить или сузить мышью окно, то ширина QLineEdit будет корректно меняться в соотв. с меняющимися размерами окна (см рис2).Получается, что 2-й вариант предпочтительнее ![]() ![]() |
|
|
![]() ![]() ![]() |
![]() |
Текстовая версия | Сейчас: 18.2.2025, 14:41 |