Russian Qt Forum
Ноябрь 24, 2024, 13:38 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1]   Вниз
  Печать  
Автор Тема: non-clickable QListWidgetItem  (Прочитано 4553 раз)
mindz_eye
Гость
« : Апрель 09, 2007, 18:36 »

Собственно, сабж. Не получается сделать такое. Пробывал использывать флаги, ставить фильтр событий на QListWidget, переопределять его mousePressEvent - ничего не помогает. При клике по item'у он все равно выделяется =((
Записан
goer
Гость
« Ответ #1 : Апрель 09, 2007, 18:42 »

Assistant:
Цитировать

selectionMode : SelectionMode
This property holds which selection mode the view operates in.
This property controls whether the user can select one or many items and, in many-item selections, whether the selection must be a continuous range of items.
Access functions:
QAbstractItemView::SelectionMode selectionMode () const
void setSelectionMode ( QAbstractItemView::SelectionMode mode )


setSelectionMode( QAbstractItemView::NoSelection ) - это то что тебе нужно!
Записан
mindz_eye
Гость
« Ответ #2 : Апрель 09, 2007, 23:57 »

Да нет, мне нужно, чтобы часть элементов была некликабельна, а не все сразу.
Записан
goer
Гость
« Ответ #3 : Апрель 10, 2007, 08:57 »

Код:

QListWidgetItem *li = new QListWidgetItem();
li->setFlags( li->flags() & ~Qt::ItemIsSelectable );


Подобный вопрос уже поднимался на форуме, учитесь использовать поиск.
Записан
mindz_eye
Гость
« Ответ #4 : Апрель 10, 2007, 10:38 »

Еще раз. Флаги устанавливать пробывал. Не помогло. Нужно сделать следующее - чтобы часть item'ов была псевдо-заголовками. Т.е. по клику по ним selection с других не снимался.
Никаких собственных делегатов на список не устанавливал.
Записан
goer
Гость
« Ответ #5 : Апрель 10, 2007, 10:56 »

Значит устанавливай фильтр событий на итемы, который будет возвращать истину при mouseEvent-ах(так события не попадут к своим получателям).
Записан
mindz_eye
Гость
« Ответ #6 : Апрель 10, 2007, 11:26 »

Цитата: "mindz_eye"
Собственно, сабж. Не получается сделать такое. Пробывал использывать флаги, ставить фильтр событий на QListWidget, переопределять его mousePressEvent - ничего не помогает. При клике по item'у он все равно выделяется =((

 :!:

Уточнение. При выставлении флага на QListWidgetItem оно работает так: selection действительно не устанавливается, но зато снимается со всех других элементов.
Попробую ловить сигнал cliked от QAbstractItemView. Он судя по коду отправляется до того, как selection изменяется.
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.047 секунд. Запросов: 21.