Russian Qt Forum

Qt => Вопросы новичков => Тема начата: billy4685 от Март 16, 2015, 11:22



Название: Существует ли в Qt структура для хранения атрибутов QTreeWidgetItem?
Отправлено: billy4685 от Март 16, 2015, 11:22
И снова я). Задался тут вопросом: "Существует ли в Qt структура для хранения атрибутов QTreeWidgetItem?".
К примеру для того чтобы задать цвет поля, цвет текста, цвет віделенного текста и полчя, и т.д для созданного item-а.


Название: Re: Существует ли в Qt структура для хранения атрибутов QTreeWidgetItem?
Отправлено: Bepec от Март 16, 2015, 11:34
QTreeWidgetItem::​QTreeWidgetItem(const QTreeWidgetItem & other)
Вам не подходит? :) Структура, цвет текста, содержимое ячеек - всё это находится внутри объекта класса и класс можно копировать. Зачем структура?


Название: Re: Существует ли в Qt структура для хранения атрибутов QTreeWidgetItem?
Отправлено: gil9red от Март 16, 2015, 11:35
Ну, например, у него есть data и в ней хранятся значения Qt::ItemDataRole
Так можно замутить словарь, в котором будут по ключу храниться роли, а по значением -- значение роли, например цвет текста :)


Название: Re: Существует ли в Qt структура для хранения атрибутов QTreeWidgetItem?
Отправлено: Bepec от Март 16, 2015, 11:53
Но это итак имеется в итеме, получается что мы вынимаем данные из итема, а потом будем запихивать обратно и делать бесполезную работу, разве нет?


Название: Re: Существует ли в Qt структура для хранения атрибутов QTreeWidgetItem?
Отправлено: billy4685 от Март 16, 2015, 12:15
QTreeWidgetItem::​QTreeWidgetItem(const QTreeWidgetItem & other)
Вам не подходит? :) Структура, цвет текста, содержимое ячеек - всё это находится внутри объекта класса и класс можно копировать. Зачем структура?
Да просто переписую код со среды Photon Application Builder на среду Qt. Ну и там при создании PtTreeItem_t item; задается еще и структура PtTreeItemAttributes_t attr;.
Ну и в коде есть функции в которые посылается как этот item так и структура attr. Поэтому вот и думаю как бы мне сделать подобную структуру.
Можно конешно создать свою структуру при создании item, которая будет хранить данные для задания атрибутов. Ну и потом в подобных функциях уже используя методы
Qt задавать атрибуты их со структуры. Но думал мало  ли и в Qt есть подобная возможность.


Название: Re: Существует ли в Qt структура для хранения атрибутов QTreeWidgetItem?
Отправлено: billy4685 от Март 16, 2015, 12:16
Ну, например, у него есть data и в ней хранятся значения Qt::ItemDataRole
Так можно замутить словарь, в котором будут по ключу храниться роли, а по значением -- значение роли, например цвет текста :)
сейчас посмотрю, может мне это поможет.


Название: Re: Существует ли в Qt структура для хранения атрибутов QTreeWidgetItem?
Отправлено: Bepec от Март 16, 2015, 12:18
Можно конечно отложить пересмотр архитектуры на дальнюю полку (куда никто не заглядывает) и сделать так, как в старом коде - структурку, из которой будут браться настройки. Это уже ваше решение. Как решите, так и будет :D


Название: Re: Существует ли в Qt структура для хранения атрибутов QTreeWidgetItem?
Отправлено: billy4685 от Март 16, 2015, 13:01
Можно конечно отложить пересмотр архитектуры на дальнюю полку (куда никто не заглядывает) и сделать так, как в старом коде - структурку, из которой будут браться настройки. Это уже ваше решение. Как решите, так и будет :D
да я видел методы setTextColor(int, QColor), и setBackgroundColor(int, QColor). Правда пока не нашел как задавать эти атрибуты для выделеной ячейки.
Но как я уже говорил выше, мне нужно все эти атрибуты передавать структурой.