Russian Qt Forum

Qt => Пользовательский интерфейс (GUI) => Тема начата: wolfut от Июня 17, 2011, 14:04



Название: Убрать на всегда выделение QListWidget
Отправлено: wolfut от Июня 17, 2011, 14:04
Доброго времени суток!

Пишу для Мака. При нажатие на QListWidget он по краям подсвечивается голубым цветом. Ставлю focusPolice = Qt::NoFocus, выделение пропадает, но не на долго, после редакирование item оно вновь появляется. Как убрать подсветку навсегда?


Название: Re: Убрать на всегда выделение QListWidget
Отправлено: wolfut от Июня 21, 2011, 09:48
Вообще как-нибудь возможно убрать подсветку элемента при активации фокуса? или это защито в операционки?


Название: Re: Убрать на всегда выделение QListWidget
Отправлено: GreatSnake от Июня 21, 2011, 10:49
Вообще как-нибудь возможно убрать подсветку элемента при активации фокуса? или это защито в операционки?
Побробуй
Код
C++ (Qt)
QListWidget::setSelectionMode( QAbstractItemView::NoSelection )
или
Код
C++ (Qt)
QListWidgetItem::setFlags ( QListWidgetItem::flags() & ~Qt::ItemIsSelectable )
.


Название: Re: Убрать на всегда выделение QListWidget
Отправлено: wolfut от Июня 21, 2011, 14:02
Спасибо конечно, это я уже пробывал.....думаю нельзя убрать, даже в браузере у Яндекса в диалоге ввода такая же синяя подсветка


Название: Re: Убрать на всегда выделение QListWidget
Отправлено: kambala от Июня 21, 2011, 16:38
я думаю всё возможно, но надо смотреть в сторону нативных функций мак ос


Название: Re: Убрать на всегда выделение QListWidget
Отправлено: GreatSnake от Июня 21, 2011, 17:19
Наверное прокатит:
Код
C++ (Qt)
QListWidget::setAttribute( Qt::WA_MacShowFocusRect, false );


Название: Re: Убрать на всегда выделение QListWidget
Отправлено: m_ax от Июня 22, 2011, 14:08
Ещё можно написать свой делегат, где
переопределить вот это:
Код
C++ (Qt)
virtual void paint ( QPainter * painter, const QStyleOptionViewItem & option, const QModelIndex & index ) const
 
на ваш вкус: с выделением или без)