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

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

Страниц: [1]   Вниз
  Печать  
Автор Тема: Выделение элементов QtreeView  (Прочитано 6948 раз)
Istrid
Гость
« : Август 15, 2012, 16:22 »

Добрый день. Возникла следующая проблема: при выделении элементов QTreeView область бранчей закрашивается цветом специфическим для каждой системы (в Ubunutu зеленый, в Mac Os - синий). установкой QSS стиля

Код:
QTreeView:branch:selected { 
background-color: white ;
}

он меняется, да. Но он закрашивает тогда "треугольничек" закрытия/открытия элемента.
Вероятно нужно изменить системный стиль, но я не понял, как это можно сделать.

Картинка, того, о чем говорю:
« Последнее редактирование: Август 15, 2012, 17:08 от Istrid » Записан
Bepec
Гость
« Ответ #1 : Август 15, 2012, 17:15 »

Насколько я помню, тебе достаточно лишь в stylesheet'e раскрашивать другим цветом "треугольничек".
Вот только одна проблема - я не помню как к нему обратиться Веселый
Записан
fte
Гость
« Ответ #2 : Август 15, 2012, 17:20 »

Можно можно обойти вот так:
view->setSelectionBehavior(QAbstractItemView::SelectRows);
Записан
Istrid
Гость
« Ответ #3 : Август 15, 2012, 18:43 »

Насчет треугольничка - сам впервые слышу, что к нему можно обратиться))
а view->setSelectionBehavior(QAbstractItemView::SelectRows); у меня и так стоит.
Заметил еще одну фичу - если убрать свойство Indentation (0 ему поставить) - то все в порядке. Это фон самого отступа, получается.
Записан
Bepec
Гость
« Ответ #4 : Август 15, 2012, 19:02 »

Сейчас уточнить не могу по обращению - новая система, ставлю как раз всё. Как смогу - отпишу, мб и обманываю Улыбающийся
Записан
lighting
Гость
« Ответ #5 : Август 16, 2012, 08:45 »

http://doc.qt.nokia.com/4.7-snapshot/stylesheet-examples.html#customizing-qtreeview
Записан
Bepec
Гость
« Ответ #6 : Август 16, 2012, 09:05 »

Ага, не обманывал, есть такое Улыбающийся Спасибо  lighting.

Код:
 QTreeView::branch:has-children:!has-siblings:closed,
 QTreeView::branch:closed:has-children:has-siblings {
         border-image: none;
         image: url(branch-closed.png);
 }

 QTreeView::branch:open:has-children:!has-siblings,
 QTreeView::branch:open:has-children:has-siblings  {
         border-image: none;
         image: url(branch-open.png);
 }
Записан
Istrid
Гость
« Ответ #7 : Август 16, 2012, 13:31 »

И правда, сработало) Спасибо большое)
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


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