Russian Qt Forum

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



Название: Для чего служит метод setUserData(uint id, QObjectUserData data)?
Отправлено: billy4685 от Март 04, 2015, 14:38
Для чего служит метод setUserData(uint id, QObjectUserData data)? Что здесь uint id? Можно ли вместо QObjectUserData data передать к примеру массив? никогда просто с этим методом не работал, решил вот разобраться.


Название: Re: Для чего служит метод setUserData(uint id, QObjectUserData data)?
Отправлено: gil9red от Март 04, 2015, 14:49
А в каком классе Qt вам встретился тот метод?

Для чего служит метод setUserData(uint id, QObjectUserData data)? Что здесь uint id?
Позволяет разместить пользовательские данные. Это уникальный индекс пользовальских данных, по этому индексу потом можно будет получить обратно данные.
Гугление по QObjectUserData выводит всякую фигню, а обычно на запросы qt'шных типов, методов и классов первой ссылкой гугла показывается документация :)


Название: Re: Для чего служит метод setUserData(uint id, QObjectUserData data)?
Отправлено: billy4685 от Март 04, 2015, 15:06
Да заметил этот метод setUserData(uint, QObjectUserData) в методах класса QWidget. Но я так понял он для многих типов виджетов задается.
uint id я так понимаю это номер какой-то, в QObjectUserData data поидеи хранятся данные. Вот только пока не могу понять как к примеру их считать, чтобы увидеть что там хранится. Хотя поидеи их нужно туда наверное для начала послать.


Название: Re: Для чего служит метод setUserData(uint id, QObjectUserData data)?
Отправлено: Johnik от Март 04, 2015, 15:07
метод же:
Код
C++ (Qt)
void QObject::setUserData(uint id, QObjectUserData* data)
помечен для внутреннего использования, как вы его применяете?


Название: Re: Для чего служит метод setUserData(uint id, QObjectUserData data)?
Отправлено: billy4685 от Март 04, 2015, 15:14
метод же:
Код
C++ (Qt)
void QObject::setUserData(uint id, QObjectUserData* data)
помечен для внутреннего использования, как вы его применяете?
Пока никак, я просто захотел понять для чего он. Поидеи ж я могу к примеру для какого-то из созданных мной экземпляров класса, пользуясь этим методом прикрепить к примеру массив данных. Вот только как это сделать пока не понял. смущает QObjectUserData* data. Как в него задать данные? что это за тип? у меня в QCreator в справке по нему ничего не находит.


Название: Re: Для чего служит метод setUserData(uint id, QObjectUserData data)?
Отправлено: Igors от Март 04, 2015, 15:35
Проще не искать приключений с недокументированными методами, а воспользоваться setProperty для прикрепления чего надо


Название: Re: Для чего служит метод setUserData(uint id, QObjectUserData data)?
Отправлено: billy4685 от Март 04, 2015, 15:39
Проще не искать приключений с недокументированными методами, а воспользоваться setProperty для прикрепления чего надо
спасибо за совет) попробуем воспользоваться setProperty.