Russian Qt Forum

Qt => Общие вопросы => Тема начата: uriel от Ноябрь 21, 2007, 19:56



Название: Создание копии объекта QObject
Отправлено: uriel от Ноябрь 21, 2007, 19:56
Появилась необходимость хранить копию объекта типа, унасленованного от QObject. Проблема в том, что для него конструктор копии закрытый.
Собственно вопрос, как это можно осуществить и есть ли для этого какие-либо стандартные средства Qt?


Название: Re: Создание копии объекта QObject
Отправлено: SerjVarshavskiy от Ноябрь 21, 2007, 22:11
может его в QDataStream/QBuffer, а потом оттуда...?


Название: Re: Создание копии объекта QObject
Отправлено: uriel от Ноябрь 21, 2007, 22:41
А как мне в таком случае преобразовать его к QByteArray? ;)


Название: Re: Создание копии объекта QObject
Отправлено: ритт от Ноябрь 21, 2007, 22:47
хранить копию где? зачем через стрим/байтаррэй? во внешнем хранилище, что ли?
конкретизируй задачу


Название: Re: Создание копии объекта QObject
Отправлено: uriel от Ноябрь 21, 2007, 22:53
Грубо говоря, нужно иметь две копии одного и того же объекта, что-то вроде бэкапа. Одну изменять, как потребуется, а вторую использовать для хранения начального стостояния этого объекта.


Название: Re: Создание копии объекта QObject
Отправлено: pastor от Ноябрь 21, 2007, 22:59
Появилась необходимость хранить копию объекта типа, унасленованного от QObject. Проблема в том, что для него конструктор копии закрытый.
Собственно вопрос, как это можно осуществить и есть ли для этого какие-либо стандартные средства Qt?

Стандартныйх методов для создания deep копии объекта порожденного от QObject в Qt нет и не будет


Название: Re: Создание копии объекта QObject
Отправлено: pastor от Ноябрь 21, 2007, 23:02
Грубо говоря, нужно иметь две копии одного и того же объекта, что-то вроде бэкапа. Одну изменять, как потребуется, а вторую использовать для хранения начального стостояния этого объекта.

Собирите все данные в какую-нибуть структуру (класс например) и делайте бэкап этих данных. Я не думаю что вам понадобяться состояние всего объекта QObject. Или я ошибаюсь?


Название: Re: Создание копии объекта QObject
Отправлено: uriel от Ноябрь 22, 2007, 08:41
Ну в целом, возможно, Вы и правы. Просто вопрос был в том, можно ли осуществить такое, ну а если нет - то придётся переписать код, чтобы создание копии не требовалось.
Всем спасибо за помощь.