Russian Qt Forum
Ноябрь 27, 2024, 13:47
Добро пожаловать,
Гость
. Пожалуйста,
войдите
или
зарегистрируйтесь
.
Вам не пришло
письмо с кодом активации?
1 час
1 день
1 неделя
1 месяц
Навсегда
Войти
Начало
Форум
WIKI (Вики)
FAQ
Помощь
Поиск
Войти
Регистрация
Russian Qt Forum
>
Forum
>
Qt
>
Общие вопросы
>
делегат для одной ячейки таблицы - это возможно?
Страниц: [
1
]
Вниз
« предыдущая тема
следующая тема »
Печать
Автор
Тема: делегат для одной ячейки таблицы - это возможно? (Прочитано 4763 раз)
Гурман
Гуру общения
Offline
Сообщений: 1442
Qt 2.2, 3.3, 4.5, 4,7, 4.8, 5.3, 5.6, 5.9, 5.12
делегат для одной ячейки таблицы - это возможно?
«
:
Июнь 06, 2010, 18:08 »
нужно, чтобы в одной колонке были в разных ячейках разные значения, в одних спин-боксы с выбираемым значением из диапазона, в других просто значения, причем не редактируемые, устанавливаются только программно
не вижу возможности установить делегата для отдельной ячейки, вижу только на таблицу, строку или колонку - ткните носом, плз, если такое есть
Записан
2^7-1 == 127, задумайтесь...
lit-uriy
Джедай : наставник для всех
Offline
Сообщений: 3880
Re: делегат для одной ячейки таблицы - это возможно?
«
Ответ #1 :
Июнь 06, 2010, 18:10 »
>>не вижу возможности установить делегата для отдельной ячейки
нет такой возможности.
Только с делегатом мудрить, чтобы он поддерживал разные варианты. А варианты засовывать в модель в UserRole.
Либо сделать наследника представления и реализовать соответствующий метод.
Сложно сказать, что будет менее геморройным.
Записан
Юра.
Kolobok
Гость
Re: делегат для одной ячейки таблицы - это возможно?
«
Ответ #2 :
Июнь 06, 2010, 18:43 »
QAbstractItemModel::flags ( const QModelIndex & index )
Записан
Гурман
Гуру общения
Offline
Сообщений: 1442
Qt 2.2, 3.3, 4.5, 4,7, 4.8, 5.3, 5.6, 5.9, 5.12
Re: делегат для одной ячейки таблицы - это возможно?
«
Ответ #3 :
Июнь 06, 2010, 19:14 »
Цитата: Kolobok от Июнь 06, 2010, 18:43
QAbstractItemModel::flags ( const QModelIndex & index )
это все понятно, но несколько не то... может потребоваться, например, разные типы виджетов в разных ячейках одной колонки
например, в колонке отображаются данные разных типов: целое, логическое, вещественное - для целых удобно спином или редактированием менять значение, для вещественных надо иметь возможность редактирования, или выбора из предопределенных символьных эквивалентов (PI, E, PI/2 и тд), для логических только выбор из списка ИСТИНА или ЛОЖЬ
ну или какой-нибудь более сложный случай
странно, что нет вызова setItemDelegateForCell ( int row, int column, QAbstractItemDelegate * )
придется наверно в моем случае "с делегатом мудрить", так похоже проще всего получится
Записан
2^7-1 == 127, задумайтесь...
Kolobok
Гость
Re: делегат для одной ячейки таблицы - это возможно?
«
Ответ #4 :
Июнь 06, 2010, 19:52 »
Использование setItemDelegate... не важно какого, подразумевает, что делегата в любом случае писать придется.
Записан
Гурман
Гуру общения
Offline
Сообщений: 1442
Qt 2.2, 3.3, 4.5, 4,7, 4.8, 5.3, 5.6, 5.9, 5.12
Re: делегат для одной ячейки таблицы - это возможно?
«
Ответ #5 :
Июнь 06, 2010, 20:59 »
разумеется, но фишка не в этом - сейчас придется реализовать класс, который поддерживает все возможные на сейчас варианты, а если новые добавятся, то придется этот класс переписывать
если бы можно было разные классы в столбец делегировать, то переписывать ничего не надо, можно было бы готовые добавить в библиотеку, и потом только добавлять новые
«
Последнее редактирование: Июнь 06, 2010, 21:10 от Гурман
»
Записан
2^7-1 == 127, задумайтесь...
Страниц: [
1
]
Вверх
Печать
« предыдущая тема
следующая тема »
Перейти в:
Пожалуйста, выберите назначение:
-----------------------------
Qt
-----------------------------
=> Вопросы новичков
=> Уроки и статьи
=> Установка, сборка, отладка, тестирование
=> Общие вопросы
=> Пользовательский интерфейс (GUI)
=> Qt Quick
=> Model-View (MV)
=> Базы данных
=> Работа с сетью
=> Многопоточное программирование, процессы
=> Мультимедиа
=> 2D и 3D графика
=> OpenGL
=> Печать
=> Интернационализация, локализация
=> QSS
=> XML
=> Qt Script, QtWebKit
=> ActiveX
=> Qt Embedded
=> Дополнительные компоненты
=> Кладовая готовых решений
=> Вклад сообщества в Qt
=> Qt-инструментарий
-----------------------------
Программирование
-----------------------------
=> Общий
=> С/C++
=> Python
=> Алгоритмы
=> Базы данных
=> Разработка игр
-----------------------------
Компиляторы и платформы
-----------------------------
=> Linux
=> Windows
=> Mac OS X
=> Компиляторы
===> Visual C++
-----------------------------
Разное
-----------------------------
=> Новости
===> Новости Qt сообщества
===> Новости IT сферы
=> Говорилка
=> Юмор
=> Объявления
Загружается...