crossplatform.ru

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

 
Ответить в данную темуНачать новую тему
> Как прикрутить несколько моделей к одному представлению?
Fynjy
  опции профиля:
сообщение 8.12.2017, 7:59
Сообщение #1


Новичок


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

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




Репутация:   0  


Привет всем!
Задача такая: Есть QTableWidget состоящий из трех колонок. По нажатию кнопки каждая строка которого заполняется какими то данными. И вот по мере наполнения таблицы, возникает задача ее редактирования. Редактирование основано по типу, что когда я нажимаю на интересующую меня ячейку, должен в ней появляться ComboBox со значениями которые присущи только для данной колонки. Т.е по сути три колонки и три набора данных. В голове крутится такой механизм, что хочется организовать три модели данных, одно представление в виде таблицы, один делегат...Но как выбрать набор данных соответсвующий данному столбцу интересующей ячейки пока представить не могу...
С технологией модель/представление - недавно познакомилс....

Заранее благодарен за советы...
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Алексей1153
  опции профиля:
сообщение 9.12.2017, 15:00
Сообщение #2


фрилансер
******

Группа: Участник
Сообщений: 2839
Регистрация: 19.6.2010
Из: Обливион
Пользователь №: 1822

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




Репутация:   34  


делегат и методы
QAbstractItemDelegate::createEditor
QAbstractItemDelegate::setEditorData
QAbstractItemDelegate::destroyEditor
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Fynjy
  опции профиля:
сообщение 11.12.2017, 7:37
Сообщение #3


Новичок


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

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




Репутация:   0  


Цитата(Алексей1153 @ 9.12.2017, 15:00) *
делегат и методы
QAbstractItemDelegate::createEditor
QAbstractItemDelegate::setEditorData
QAbstractItemDelegate::destroyEditor

Извините, но не много не понял))) Я знаю что вызывать надо я не знаю как определить с какой колонки вызываются эти функции, чтобы определить нужный набор данных?


Цитата(Fynjy @ 11.12.2017, 7:35) *
Цитата(Алексей1153 @ 9.12.2017, 15:00) *
делегат и методы
QAbstractItemDelegate::createEditor
QAbstractItemDelegate::setEditorData
QAbstractItemDelegate::destroyEditor

Я знаю, что вызывать надо я не знаю как определить с какой колонки вызываются эти функции,....

вернее как в функции setEditor отшарить колонку с которой щелкнул?
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Алексей1153
  опции профиля:
сообщение 11.12.2017, 8:41
Сообщение #4


фрилансер
******

Группа: Участник
Сообщений: 2839
Регистрация: 19.6.2010
Из: Обливион
Пользователь №: 1822

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




Репутация:   34  


Fynjy, как вариант - мембер делегата (или даже просто кутешное свойство), куда заносится номер колонки при установке этого делегата

да что ж я, вот тут всё есть

void QAbstractItemDelegate::destroyEditor(QWidget *editor, const QModelIndex &index) const

Сообщение отредактировал Алексей1153 - 11.12.2017, 8:44
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

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


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




RSS Текстовая версия Сейчас: 17.10.2018, 19:43