Название: [Решено]QTreeView стиль выделение строки при наличии делегата Отправлено: voral от Октябрь 13, 2010, 21:40 Уже мозги все сломал как правильно задать гуглю вопрос. Подскажите следующее:
Создал объект QTreeView (тоже и с QTableView) подключил к нему model (QStandardItemModel) Подкючаю делегаты с QLineEdit и QComboBox в качестве редакторов. Все ок все работает. Осталось дело за наведением красоты. Активная строка/ячейка в QTreeView/QTableView выделяется стандартно неким образом зависящем от ОС. Обобщено говоя эта некая градиентная заливка. Но вот ячейки у которых назначены делеаты (но еще не активированы кликом) залиты сплошным цветом. Получается не красиво - вся строка одним образом, а ячейки с делегатами другим. Эта ситуация и в Windows7 и в KDE4. Делегаты прикручиваю следующим образом: Код: tree->setItemDelegateForColumn(3,delegate); Код: #ifndef VCOMBOBOXDELEGATE_H Код: #include "vcomboboxdelegate.h" Название: Re: QTreeView стиль выделение строки при наличии делегата Отправлено: asvil от Октябрь 13, 2010, 22:40 Сразу скажу злую фразу: читайте assistant.
Если прочитали все, начните скакать по ссылкам классов на другие классы и читайте описание каждого класса. В Вашем случае я думаю необходимо наследовать QStyledItemDelegate, который имеет переопределенном метода draw() поддержку стилей (QStyle и т.д.), а QStyle это система классов поддерживающих нативную отрисовку. Название: Re: QTreeView стиль выделение строки при наличии делегата Отправлено: voral от Октябрь 13, 2010, 23:40 Сразу скажу злую фразу: читайте assistant. Блин! Это самый правильный совет :) Посыпаю голову пеплом. Написано аж во втором абзауе описания класса QItemDelegateВ Вашем случае я думаю необходимо наследовать QStyledItemDelegate, который имеет переопределенном метода draw() поддержку стилей (QStyle и т.д.), а QStyle это система классов поддерживающих нативную отрисовку. И, естественно, это помогло.Название: Re: [Решено]QTreeView стиль выделение строки при наличии делегата Отправлено: RazrFalcon от Июль 15, 2012, 16:39 Извиняюсь за поднятие старой темы, но может кто-либо выложить решение этой проблемы?
Пробовал разобраться с QStyledItemDelegate, но пока что нормальное выделение в KDE так и не заработало. Оно или просто плоское, или вообще отсутствует, или выделение нормальное, но текст ячейки все равно рисуется поверх виджета. |