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

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

Страниц: [1]   Вниз
  Печать  
Автор Тема: QTreeView со своим стилем проблема с выделенными элементами  (Прочитано 1641 раз)
i_rik_mik
Гость
« : Июнь 30, 2014, 14:43 »

Доброго времени суток
Изменил стандартные узлы в дереве
Код:
QString styleSheet =
            "QTreeView{background-color: rgb(" + QString::number(color.red()) + ","
            + QString::number(color.green()) +","
            + QString::number(color.blue()) + ")}\r\n"
            "QTreeView::branch:has-children:!has-siblings:closed, QTreeView::branch:closed:has-children:has-siblings { border-image: none; image: url(" + QDir::homePath() + "/.mf_rik_mik/icons/icon_plus.png"+");}\r\n"
            "QTreeView::branch:open:has-children:!has-siblings, QTreeView::branch:open:has-children:has-siblings  { border-image: none; image: url("+ QDir::homePath() + "/.mf_rik_mik/icons/icon_minus.png" +");}";
  //  TreeBookMarks->setStyleSheet(styleSheet);

Теперь когда выделяю элемент с узлом (выделение иконки узла сверху и снизу на 1-2 пикселя больше) чем выделение остальной части строки. Со стандартными узлами такого нет. Установка sizeHint у делегата ни чего не дает.


И еще один вопрос. в делегате я рисую квадрат на нужном мне месте, когда строка не выделена то все нормально, когда выделена мой рисунок исчезает. Как сделать чтоб при выделении строки мой рисунок остался
Код:
void BookMarksDelegate::paint(QPainter *painter, const QStyleOptionViewItem &option,
                         const QModelIndex &index) const
{
    if (index.column() == 1 )
    {
        painter->save();
        painter->setPen(mColor);
        QRect rect = opt.rect;
        painter->drawRect(rect2);
        painter->restore();
        QStyledItemDelegate::paint(painter, opt, index);
   }
}

Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


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