У меня следующая ситуация: мне нужно создать собственный элемент управления деревом, чьи флажки также настроены. Я легко сделал большинство настроек для управления деревом, используя таблицы стилей; Мне удалось добавить флажки к элементам QTreeView, но у меня большие проблемы с их настройкой - мне нужно отобразить собственное изображение для отмеченного состояния, а другое - для непроверенного состояния.
Я пришел к выводу, что это можно сделать, в моем подклассе QStyledItemDelegate, в событии рисования (т.е. CheckBoxItemDelegate :: paint). Мне нужно отобразить текст, значок и флажок для элемента. Но проблемы:
- Я не могу получить стиль элемента (который я установил с помощью таблицы стилей) - в противном случае мой текст может быть нарисован с неправильным цветом;
- Я не знаю текст каждого подпункта (флажок, значок, текст);
- Я не знаю, как заставить значок элемента (учитывая его QModelIndex) нарисовать его.
P.S. Я создал подкласс QTreeView (очевидно), и, поскольку я работаю с QFileSystemModel, я также подклассировал его, чтобы добавить к нему функциональность флажка.
Кто-нибудь может мне помочь, пожалуйста?
Является ли QStyledItemDelegate :: paint подходящим местом для изменения визуальных элементов флажка элементов дерева? Если да, не могли бы вы привести небольшой пример или еще что-нибудь, как я могу это сделать?