Делегат для конкретной ячейки в QTableView |
Здравствуйте, гость ( Вход | Регистрация )
Делегат для конкретной ячейки в QTableView |
JuryS1806 |
21.1.2011, 2:09
Сообщение
#1
|
Студент Группа: Участник Сообщений: 93 Регистрация: 21.10.2009 Из: Нижний Новгород Пользователь №: 1168 Спасибо сказали: 9 раз(а) Репутация: 0 |
Всем привет !
Здорово работать с QTableView при помощи делегатов, но вот такая незадача, например, я могу установить делегат для столбца или строки таблицы, а как присвить его конкретному индексу. В MS Access это делается очень легко и непринужденно, а здесь я так понял можно только через setIndexWidget и созданный Widget подцеплять к четырем слотам, вместо простоейшего использования ItemDelegate. В справке нашел: Note: If a delegate has been assigned to both a row and a column, the row delegate (i.e., this delegate) will take presedence and manage the intersecting cell index. т.е. как бы если назначить делегат для строки и столбца, будет работать в ячейки пересечения, но почему то он работает и по гориз и по верт. Спасибо заранее за помощь ! P.S. Any existing row delegate for row will be removed, but not deleted. QAbstractItemView does not take ownership of delegate. т.е. опять memory leaks ? |
|
|
igor_bogomolov |
22.1.2011, 1:11
Сообщение
#2
|
Профессионал Группа: Сомодератор Сообщений: 1215 Регистрация: 22.3.2009 Из: Саратов Пользователь №: 630 Спасибо сказали: 235 раз(а) Репутация: 29 |
|
|
|
JuryS1806 |
22.1.2011, 1:21
Сообщение
#3
|
Студент Группа: Участник Сообщений: 93 Регистрация: 21.10.2009 Из: Нижний Новгород Пользователь №: 1168 Спасибо сказали: 9 раз(а) Репутация: 0 |
вот и простейший делегат от тролей: QSqlRelationalDelegate
можно назначить делегат не для каждой строки, а для все таблицы. Только вот когда вызывается CreateEditor? Каждый раз при вхождении в ячейку? Соответственно делегат нужно запихнуть в приватную секцию и добавить на него несколько Update'ов... Вообщем, все делегаты нужно объединить в один и ПОЛОВИНУ ПРОГРАММЫ переписывать заново ! Пойду застрелюсь БЛИН! |
|
|
Текстовая версия | Сейчас: 18.1.2025, 3:28 |