QTreeWidget, Как запретить редактирование определенных столбцов? |
Здравствуйте, гость ( Вход | Регистрация )
QTreeWidget, Как запретить редактирование определенных столбцов? |
badguy |
3.6.2009, 13:30
Сообщение
#1
|
Новичок Группа: Новичок Сообщений: 4 Регистрация: 3.3.2008 Пользователь №: 111 Спасибо сказали: 0 раз(а) Репутация: 0 |
Приветствую!
Как можно запретить редактирование данных в определенных столбцах виджета? Для редактирования нужных столбцов использую делегаты, установленные с помощью setItemDelegateForColumn(), соответственно для item'a установлен флаг ItemisEditable. Необходимо чтобы при попытке редактирования столбцов, для которых делегаты не установлены, никакой редактор не создавался. Можно ли как нибудь попроще реализовать такую фунциональность? |
|
|
Litkevich Yuriy |
3.6.2009, 14:08
Сообщение
#2
|
разработчик РЭА Группа: Сомодератор Сообщений: 9669 Регистрация: 9.1.2008 Из: Тюмень Пользователь №: 64 Спасибо сказали: 807 раз(а) Репутация: 94 |
Можно ли как нибудь попроще реализовать такую фунциональность? вот было такое обсуждение, ничем пока не кончилось
|
|
|
igor_bogomolov |
3.6.2009, 14:50
Сообщение
#3
|
Профессионал Группа: Сомодератор Сообщений: 1215 Регистрация: 22.3.2009 Из: Саратов Пользователь №: 630 Спасибо сказали: 235 раз(а) Репутация: 29 |
badguy, поставь делегат для всей таблици. В createEditor делай проверку, какой столбец редактируется. Если этот столбец редактироваться не должен, не создавай редактор.
Для дерева ничего не изменится ))) Сообщение отредактировал igor_bogomolov - 3.6.2009, 15:21 |
|
|
Sokoloff |
4.6.2009, 11:55
Сообщение
#4
|
Участник Группа: Участник Сообщений: 237 Регистрация: 1.4.2009 Из: Москва Пользователь №: 654 Спасибо сказали: 50 раз(а) Репутация: 11 |
Задавать флаги для отдельныйх столбцов возможно. Через index.column() можно получить номер столбца.
Вот работающий пример, правда на python-е.
Похоже я невнимательно прочитал, вопрос был про widget-ы, а это для модели. Сообщение отредактировал Sokoloff - 4.6.2009, 12:03 |
|
|
Гость_brus_* |
6.2.2010, 2:19
Сообщение
#5
|
Гости |
Можно и без моделей. Простой пример:
for (int row = 0; row < 10; ++row) { QTableWidgetItem *item1 = new QTableWidgetItem("Hello"); item1->setFlags(Qt::ItemIsDragEnabled|Qt::ItemIsUserCheckable|Qt::ItemIsEnabled);// Не редактируемые ячейки tableWidget_GenesCombinations->setItem(row,0,item1); } |
|
|
Текстовая версия | Сейчас: 2.12.2024, 5:34 |